None ex.I.6.39

The explicit formula for f-orthogonality

Exercise I.6.39 [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}} $ f-orthogonality of ${\cycle[\tilde]{s}{\bs}}$ to ${\cycle{s_1}{\bs}}$ is given by either of the equivalent identities \begin{equation} s {n} (\tilde{l}^{2}+\bs s_1^2\tilde{n}^{2}- \tilde{m} \tilde{k}) + s_1\tilde{n}({m} \tilde{k} -2{l} \tilde{l}+ {k} \tilde{m} ) = 0 \end{equation} or \begin{equation} {n} \det(\cycle[\tilde]{1}{\bs}) + \tilde{n}\scalar{\cycle{1}{\bs}}{\cycle[\tilde]{1}{\bs}} = 0, \quad \text{ if } \quad s=s_1=1. \end{equation}

Solution. The direct calculation:

In [1]:
from init_cycle import *
display(Latex("The explicit formula for f-orthogonality: $%s$" %\
C1.is_f_orthogonal(C,es,sign_mat,sign_mat1)))
            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
The explicit formula for f-orthogonality: $ s {n'} k {m'}+ s {n'} m {k'}+ {l'}^{2} n s_1- n {m'} {k'} s_1+ \sigma_1 n s^{2} {n'}^{2} s_1-2 {l'} s {n'} {l}==0$

Test the compact formula:

In [2]:
print("f-orthogonality defined by (-n det(C)+n1 <C, C1>): %s" %\
(C1.is_f_orthogonal(C,es).op(0)\
-(-n*C1.hdet(es)+n1*C.cycle_product(C1,es))).normal().is_zero())
f-orthogonality defined by (-n det(C)+n1 <C, C1>): True

Some specialisations are of interest here. The formula becomes simpler for straight lines:

In [3]:
display(Latex("Focal orthogonality between two straight lines: $%s$" %\
C.subs(k == 0).is_f_orthogonal(C1.subs(k1==0),es,sign_mat,sign_mat1)))
Focal orthogonality between two straight lines: $-2 {l'} n s {l}+ {n'} {l}^{2} s_1+ \sigma_1 n^{2} s^{2} {n'} s_1==0$

For comparison purpose: the ordinary orthogonality.

In [4]:
Latex("Orthogonality between two straight lines: $%s$" %
C.subs(k == 0).is_orthogonal(C1.subs(k1==0),es,sign_mat))
Out[4]:
Orthogonality between two straight lines: $-2 {l'} {l}+2 \sigma_1 n s^{2} {n'}==0$

Another interesting particular case: zero-radius cycle.

In [5]:
Latex("Focal orthogonality to zero-radius cycle: $%s$" %\
C.is_f_orthogonal(Z,e,sign_mat))
Out[5]:
Focal orthogonality to zero-radius cycle: $ v s {l}^{2}- n v^{2} s k \sigma- v s m k-2 n s {l} u+ n^{2} v s^{3} \sigma+ n s k u^{2}+ n s m==0$

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