None ex.I.7.19

Calculate explicit formulas for perpendicular

Exercise I.7.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 $A=(u,v)$ and $B=(u',v')$. Then

  1. $d$-perpendicular to $\lvec{AB}$ in the \emph{elliptic} or \emph{hyperbolic} cases is a multiple of the vector \begin{equation} \begin{pmatrix} \sigma (v-v')^3-(u-u')^2 (v+v'(1-2 \sigma \bs))\\ \bs(u-u')^3-(u-u')(v- v')(-2 v' +(v+v') \bs \sigma) \end{pmatrix}, \end{equation} which, for $\sigma\bs=1$, reduces to the expected value $(v-v', \sigma(u-u'))$.
  2. $d$-perpendicular to $\lvec{AB}$ in the \emph{parabolic} case is $(0, t)$, $t\in\Space{R}{}$ which coincides with the \emph{Galilean orthogonality} defined in [Yaglom79, S~3].
  3. $l_{c_{\bs}}$-perpendicular to $\lvec{AB}$ is a multiple of the vector $(\sigma v'-\rs v, u-u')$.
  4. $l_{f_{\bs}}$-perpendicular to $\lvec{AB}$ is a multiple of the vector $(\sigma v'+p, u-u')$, where $p$ is defined for corresponding values of $\rs$.

Hint. Contour lines for all distances and lengths are cycles. Use implicit derivation to determine the tangent vector to a cycle at a point. Then apply the formula to a cycle which passes $(u',v')$ and is a contour line for a distance or length from $(u,v)$. \end{hint}

Solution. We use implicit derivation to find the tangent of a cycle at (u',v')

In [1]:
from init_cycle import *
def  print_perpendicular(C, S=""):
    return Latex("%s perpendicular to $((u,v); (u',v'))$ is: $(%s, %s)$" %\
    (S, (C.get_l(1)+sign*C.get_k()*v1).normal(), (C.get_l(0)-C.get_k()*u1).normal()))
            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

Now we run through various distances/lengths providinc corresponding cycles

Distance, copied from le-distance-first.ipynb aka le.I.7.5. Define a cycle template

In [2]:
C10 = cycle2D(numeric(1), [l, n], m, e)

Specialise by the condition passing two points

In [3]:
C10 = C10.subject_to([C10.passing(P), C10.passing(P1)], [m, n, l])
D = 4*C10.radius_sq(es)
print_perpendicular(C10.subs(lsolve([D.diff(l) == 0], [l])), "Distance (EH)")
Out[3]:
Distance (EH) perpendicular to $((u,v); (u',v'))$ is: $(-\frac{1}{2} \frac{2 v {u'} u- {u'}^{2} {v'}+3 v \sigma {v'}^{2}+2 {u'}^{2} \sigma {v'} \sigma_1- {v'} u^{2}+2 {u'} {v'} u-4 {u'} \sigma {v'} u \sigma_1- \sigma {v'}^{3}- v {u'}^{2}-3 v^{2} \sigma {v'}+2 \sigma {v'} u^{2} \sigma_1- v u^{2}+ v^{3} \sigma}{{v'}^{2}- {u'}^{2} \sigma_1+2 {u'} u \sigma_1+v^{2}-2 v {v'}- u^{2} \sigma_1}, \frac{1}{2} \frac{ {u'} \sigma {v'}^{2} \sigma_1+2 v {u'} {v'}+ {u'}^{3} \sigma_1+ v^{2} \sigma u \sigma_1-2 {u'} {v'}^{2}+3 {u'} u^{2} \sigma_1- u^{3} \sigma_1-3 {u'}^{2} u \sigma_1- v^{2} {u'} \sigma \sigma_1- \sigma {v'}^{2} u \sigma_1-2 v {v'} u+2 {v'}^{2} u}{{v'}^{2}- {u'}^{2} \sigma_1+2 {u'} u \sigma_1+v^{2}-2 v {v'}- u^{2} \sigma_1})$

Parabolic point space

In [4]:
print_perpendicular(C10.subs({sign : 0, l : (u+u1)*half}), "Distance (P)")
Out[4]:
Distance (P) perpendicular to $((u,v); (u',v'))$ is: $( \sigma {v'}, -\frac{1}{2} {u'}+\frac{1}{2} u)$

Lengths from centre, copied from le-length-centre-exp.py
We need one more clifford unit

In [5]:
nu = varidx(symbol("nu"),2)
er = clifford_unit(nu, diag_matrix([-1, sign2]), 2)

Now define a cycle passing P1...

In [6]:
C11 = C.subject_to([C.passing(P1), C.is_normalized()])

...and having its er-centre at P

In [7]:
C11 = C11.subject_to([C11.center(er)[0] == u, C11.center(er)[1]== v])
print_perpendicular(C11, "Length from centre")
Out[7]:
Length from centre perpendicular to $((u,v); (u',v'))$ is: $(-\frac{v- \sigma_2 \sigma {v'}}{\sigma_2}, -{u'}+u)$

Lengths from focus are copied from le-length-focus-exp.py
Slightly different routine for focal lenfths

In [8]:
def fl_perp(p):
    C12 = C.subject_to([C.passing(P1), k==1, l == u, n == p])
    display(Latex("Calculation for $p=%s$" % p))
    return(Latex("  Focal length perpendicular to $((u,v); (u',v'))$ is $(si v'+p, u-u')$: %s" %\
    ((C12.get_l(1)+sign*C12.get_k()*v1-(sign*v1+p)).normal().is_zero()\
    and (C12.get_l(0)-C12.get_k()*u1-(u-u1)).normal().is_zero())))

We made two checks for solution with +sign...

In [9]:
sign5=sign4
fl_perp(sign5*(-(v1-v)+pow(sign5*pow((u1-u), 2)+pow((v1-v), 2) -sign5*sign*pow(v1, 2),half)))
Calculation for $p= {(\sqrt{{(v-{v'})}^{2}+ {({u'}-u)}^{2} \sigma_4- \sigma {v'}^{2} \sigma_4}+v-{v'})} \sigma_4$
Out[9]:
Focal length perpendicular to $((u,v); (u',v'))$ is $(si v'+p, u-u')$: True

...and with -sign

In [10]:
fl_perp(sign5*(-(v1-v)-pow(sign5*pow((u1-u), 2)+pow((v1-v), 2) -sign5*sign*pow(v1, 2),half)))
Calculation for $p=- {(\sqrt{{(v-{v'})}^{2}+ {({u'}-u)}^{2} \sigma_4- \sigma {v'}^{2} \sigma_4}-v+{v'})} \sigma_4$
Out[10]:
Focal length perpendicular to $((u,v); (u',v'))$ is $(si v'+p, u-u')$: True

finally we check the parabolic case formula

In [11]:
sign5=0;
fl_perp((pow(u1-u,2)-sign*pow(v1,2))/(v1-v)/2)
Calculation for $p=-\frac{1}{2} \frac{{({u'}-u)}^{2}- \sigma {v'}^{2}}{v-{v'}}$
Out[11]:
Focal length perpendicular to $((u,v); (u',v'))$ is $(si v'+p, u-u')$: 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