None ex.I.6.28

Check that all orthogonal cycles passing a point meet at its invesion

Exercise I.6.28 [1] $ \newcommand{\scalar}[3][]{\left\langle #2,#3 \right\rangle_{#1}} \newcommand{\Space}[3][]{\mathbb{#2}^{#3}_{#1}} \newcommand{\Space}[3][]{\mathbb{#2}^{#3}_{#1}} \newcommand{\cycle}[3][]{{#1 C^{#2}_{#3}}} \newcommand{\realline}[3][]{#1 R^{#2}_{#3}} \newcommand{\bs}{\breve{\sigma}} \newcommand{\zcycle}[3][]{#1 Z^{#2}_{#3}} \newcommand{\SL}[1][2]{\mathrm{SL}_{#1}(\Space{R}{})} \newcommand{\rs}{\sigma_r} \newcommand{\lvec}[1]{\overrightarrow{#1}} \newcommand{\rmi}{\mathrm{i}} \newcommand{\alli}{\iota} \newcommand{\rme}{\mathrm{e}} \newcommand{\rmd}{\mathrm{d}} \newcommand{\rmh}{\mathrm{j}} \newcommand{\rmp}{\varepsilon} \newcommand{\modulus}[2][]{\left| #2 \right|_{#1}} \newcommand{\sperp}{⋋} $ Prove the following properties of inversion:

  1. Let a cycle $\cycle[\tilde]{s}{\bs}$ be $\bs$-orthogonal to a cycle $\cycle{s}{\bs}=(k,l,n,m)$. Then, for any point $u_1+\alli v_1\in \Space[\sigma]{R}{}$ ($\alli^2=\sigma$) belonging to $\sigma$-implementation of $\cycle[\tilde]{s}{\bs}$, this implementation also passes through the image of $u_1+\alli v_1$ under the Möbius transform defined by the matrix $\cycle{\bs}{\sigma}$:

    $u_2+\alli v_2 =\cycle{\bs}{\sigma}(u_1-\alli v_1 ) = \begin{pmatrix} l+\alli\bs n & -m\\ k & -l+\alli\bs n \end{pmatrix} (u_1-\alli v_1).$

    Thus, the point $u_2+\alli v_2$ is the {inversion} of $u_1+\alli v_1$ in $\cycle{s}{\bs}$.

  2. Conversely, if a cycle $\cycle[\tilde]{s}{\bs}$ passes two different points $u_1+\alli v_1$ and $u_2+\alli v_2$, then $\cycle[\tilde]{s}{\bs}$ is $\bs$-orthogonal to $\cycle{s}{\bs}$.

  3. If a cycle $\cycle[\tilde]{s}{\bs}$ is $\bs$-orthogonal to a cycle $\cycle{s}{\bs}$, then the $\bs$-inversion in $\cycle{s}{\bs}$ sends $\cycle[\tilde]{s}{\bs}$ to itself.

  4. $\bs$-inversion in the $\sigma$-implementation of a cycle $\cycle{s}{\bs}$ coincides with $\sigma$-inversion in its $\bs$-ghost cycle $\cycle[\breve]{s}{\bs}$.

Solution. Cycle C2 is passing point P

In [1]:
from init_cycle import *
C2=C1.subject_to([C1.passing(P),C1.is_orthogonal(C,es)])
            Python wrappers for MoibInv Library
     ---------------------------------------------
Please cite this software as
V.V. Kisil, MoebInv: C++ libraries for manipulations in non-Euclidean geometry, SoftwareX, 11(2020),100385. doi:10.1016/j.softx.2019.100385.
     ---------------------------------------------

Using vector formalism and idx

Different formulae for vector and paravector formalism

In [2]:
if (UseVectors):
    Pn=C.moebius_map(P,e,diag_matrix([1,-sign1]))
else:
    Pn=C.moebius_map([P[0],-P[1]],e,diag_matrix([1,-sign1]))

Output of checks

In [3]:
print("An othogonal cycle passes the inversed point: %s " %\
C2.val(Pn).normal().is_zero())      
An othogonal cycle passes the inversed point: True 
In [4]:
C3=C1.subject_to([C1.passing(Pn),C1.passing(P),C1.is_orthogonal(C,es)])
print("The cycle passing both points is the same: %s" % C2.is_equal(C3))
The cycle passing both points is the same: True
In [5]:
C4=C1.subject_to([C1.passing(P),C1.passing(Pn)])
print("A cycle passing both points is orthogonal: %s" %\
bool(C.is_orthogonal(C4,es)))
A cycle passing both points is orthogonal: True

This notebook is a part of the MoebInv notebooks project [2] .

References

  1. Vladimir V. Kisil. Geometry of Möbius Transformations: Elliptic, Parabolic and Hyperbolic Actions of $SL_2(\mathbb{R})$. Imperial College Press, London, 2012. Includes a live DVD.

  2. Vladimir V. Kisil, MoebInv notebooks, 2019.

Back to Folder