None ex.I.6.18

Verify basic properties of ghost cycle

Exercise I.6.18 [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}} $ Verify the following properties of a ghost cycle:

  1. $\cycle[\breve]{}{\sigma}$ coincides with $\cycle{}{\sigma}$ if $\sigma \bs=1$.
  2. $\cycle[\breve]{}{\sigma}$ has common roots (real or imaginary) with $\cycle{}{\sigma}$.
  3. For a cycle $\cycle{}{\bs}$, its p-ghost cycle $\cycle[\breve]{}{\bs}$ and the non-selfadjoint part $H\cycle{}{\bs}$ coincide.
  4. All straight lines $\bs$-orthogonal to a cycle pass its $\bs$-centre.

Solution. The ghost cycle is constructed by the following procedure, which depends on vector or paravector setting.

In [1]:
from init_cycle import *
def ghost_cycle(Ct,ec,ep):
    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([Ct.center(ec)[0],-Ct.center(ec)[1]*jump_fnct(esign)], ep, Ct.radius_sq(ep,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

Also we define the projection of a cycle to the self-adjoint subspace.

In [2]:
def H_project(C):
    return C-cycle2D(real_line.exmul(C.cycle_product(real_line).subs({sign : 1})/2))

Construct the ghost C5 cycle.

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

Check that ghost cycle match the definition

In [4]:
Latex("$\chi(\sigma)$-centre of C5 is equal to $\breve{\sigma}$-centre of C: %s" %\
(C5.center(Mj,True)-C.center(es,True)).is_zero())
Out[4]:
$\chi(\sigma)$-centre of C5 is equal to $reve{\sigma}$-centre of C: True
In [5]:
Latex("$\sigma-\det$ of C5 is equal to $\breve{\sigma}-\det$ of C: %s" %\
(C5.hdet(e)-C.hdet(e,M1,1)).is_zero())
Out[5]:
$\sigma-\det$ of C5 is equal to $reve{\sigma}-\det$ of C: True

Check properties from the exercise

In [6]:
Latex("Ghost coincides with original for $\sigma\cdot \breve{sigma}=1$: %s" % \
(C5.subs({sign : -1, sign1 : -1}).is_equal(C.subs({sign : -1, sign1 : -1})) and \
C5.subs({sign : 1,sign1 : 1}).is_equal(C.subs({sign : 1, sign1 : 1}))))
Out[6]:
Ghost coincides with original for $\sigma\cdot reve{sigma}=1$: True
In [7]:
"C5 has common roots with C: %s " %\
(C5.val([R[0],0]).normal().is_zero() and C5.val([R[1],0]).normal().is_zero())
Out[7]:
'C5 has common roots with C: True '
In [8]:
"Ghost cycle coinsides with non-self-adjoint part of the cycle: %s" %\
C5.subs({sign1 : 0}).is_equal(H_project(C))
Out[8]:
'Ghost cycle coinsides with non-self-adjoint part of the cycle: True'

Check that all orthogonal straight lines intersects at the centre

In [9]:
C6=C1.subject_to([ C1.is_orthogonal(C,es), C1.is_linear()])
"All bs-orthogonal straight lines passes bs-centre of cycle: %s" %\
C6.val(C.center(es)).normal().is_zero()
Out[9]:
'All bs-orthogonal straight lines passes bs-centre of cycle: 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