None pr.I.6.19

Check the orthogonality through the ghost cycle

Proposition I.6.19 [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}{⋋} $ Let cycles $\cycle{}{\bs}$ and $\cycle[\tilde]{}{\bs}$ be $\bs$-orthogonal in $\Space[\sigma]{R}{}$ and let $\cycle[\breve]{}{\bs}$ be the ghost cycle of $\cycle{}{\bs}$. Then:

  1. $\cycle[\tilde]{}{\bs}$ and $\cycle[\breve]{}{\bs}$ are $\sigma$-orthogonal in $\Space[\sigma]{R}{}$ for seven cases \emph{except} two cases $\sigma=0$ and $\bs=\pm 1$.
  2. In the $\sigma$-implementation, the tangent\index{tangent} line to $\cycle[\tilde]{}{\bs}$ at its intersection point with
  • the ghost cycle $\cycle[\breve]{}{\sigma}$, if $\sigma=\pm 1$, or
  • the non-selfadjoint part $H\cycle{}{\bs}$ of the cycle $\cycle{}{\bs}$, if $\sigma=0$,
passes the $\bs$-centre of $\cycle{}{\bs}$, which coincides with
the $\sigma$-centre of $\cycle[\breve]{}{\sigma}$. 

Proof. Definition of the ghost cycle depend either we use vector or paravector formalism.

In [1]:
from init_cycle import *
def ghost_cycle(C,ep,en):
    if (UseVectors):
        esign=remove_dirac_ONE(pow(ep.subs({ep.op(1) : 1}),2))
    else:
        esign=remove_dirac_ONE(pow(ep.subs({ep.op(1) : 0}),2))
    return cycle2D([C.center(ep)[0],-C.center(ep)[1]*jump_fnct(esign)], en, C.radius_sq(en,M1))
            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

Finding the roots of the ghost cycle

In [2]:
C5=ghost_cycle(C,es,e)
R=C.roots()

C3 is the cycle a cycle orthogonal to C

In [3]:
C3=C1.subject_to([C1.is_orthogonal(C,es)])
Latex("C3 is $\breve{\sigma}$-orthogonal to C: %s" % C3.cycle_product(C,es).is_zero())
Out[3]:
C3 is $reve{\sigma}$-orthogonal to C: True
In [4]:
## Was used for debug
#print (C3.cycle_product(C5,e))
#for i in range (3):
#    for j in range (3):
#        print ("%s,%s: %s" % (i,j,C3.cycle_product(C5,e).subs({sign : i-1,sign1 : j-1})))
In [5]:
Latex("C3 is $\sigma$-orthogonal to C5 if $\sigma=\pm 1$ : %s" %\
(C3.cycle_product(C5,e).subs({sign : -1, sign1 : -1}).is_zero() \
and C3.cycle_product(C5,e).subs({sign : 1, sign1 : 1}).is_zero()))
Out[5]:
C3 is $\sigma$-orthogonal to C5 if $\sigma=\pm 1$ : True
In [6]:
Latex("C3 is p-orthogonal to C5 if $\sigma_1=0$: %s" % \
      C3.cycle_product(C5,e).subs({sign : 0, sign1 : 0}).is_zero())
Out[6]:
C3 is p-orthogonal to C5 if $\sigma_1=0$: True

Check the geometric orthogonality condition for parabolas. Define a point above the root of the first parabola

In [7]:
P2=[C.roots()[0],v]

Define a cycle passing this point and being orthogonal to C

In [8]:
C3=C1.subject_to([C1.passing(P2), C1.is_orthogonal(C,es)])

Calculate the slop of the parabola

In [9]:
Sl3=C3.val(P1).diff(u1)/C3.val(P1).diff(v1)
"Tangent to first parabola above second's root passes second's centre: %s" %\
(Sl3*(C.center(es)[0]-P2[0])+(C.center(es)[1]-P2[1])).subs({u1 : P2[0], v1 : P2[1], sign : 0})\
.numer().normal().is_zero()
Out[9]:
"Tangent to first parabola above second's root passes second's centre: 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