None ex.I.3.25

We check that trigonometric formulae

Exercise I.3.25 [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 $P$ and $P'$ be two vectors tangent to $\Space[\sigma]{R}{2}$ at $\alli$. Denote by $\tilde{P}$ and $\tilde{P}'$ images of $P$ and $P'$ under the action of the matrix $ \begin{pmatrix} a\, & \sigma b\\ b & a \end{pmatrix}$ from the corresponding isotropy subgroup. Then:

  1. The angle between a vector and its image is independent from the vector: \begin{equation} \tan_\sigma (P,\tilde{P})=\frac{2ab}{a^2+\sigma b^2}\,. \end{equation}
  2. The angle between vectors is preserved by the transformation: $\tan_\sigma (P,P')=\tan_\sigma (\tilde{P},\tilde{P}')$. Since cosine and sine are functions of the tangent they are preserved as well.

Solution. First we make the routine to calculate images of tangent vectors

In [1]:
from init_cycle import *
def diff_transform(a,b,e,U,V):
    t=realsymbol("t")
    P=[0+t*U,1+t*V]
    P1=clifford_moebius_map(sl2_clifford(a,sign*b,b,a,e),P,e)
    return [P1[0].diff(t).subs({t : 0}).normal(),P1[1].diff(t).subs({t : 0}).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

Then we calculate values at two points.

In [2]:
T=v/u
P0=diff_transform(a,b,e,u,v)
Ti=P0[1]/P0[0]
T1=v1/u1
P1=diff_transform(a,b,e,u1,v1)
T1i=P1[1]/P1[0]

The routine to check the exercise, which we will use a couple of times.

In [3]:
def make_check(T,T1,Ti,T1i):
    display(Latex("The angle between vector and its image depends only on a and b: $%s$" %\
    ((T-Ti)/(1-sign*T*Ti)).normal()))
    return Latex("Tangents between initial vectors and their images are the same: %s" %\
    (((T1-T)/(1-sign*T*T1))-(T1i-Ti)/(1-sign*Ti*T1i)).normal().is_zero())

And the check itself

In [4]:
make_check(T,T1,Ti,T1i)
The angle between vector and its image depends only on a and b: $2 \frac{ a b}{a^{2}+ b^{2} \sigma}$
Out[4]:
Tangents between initial vectors and their images are the same: True

The following alternative solution is a bit premature as we do not learned about cycles yet.

First we define the tangent of a cycle C at a given point using implict derivative

In [5]:
def tan(C,ax,bx):
    u=realsymbol("u")
    v=realsymbol("v")
    return (-C.val([u,v]).diff(u)/C.val([u,v]).diff(v)).subs({u : ax, v : bx})

Take a cycle passing the imaginary unit [0,1]

In [6]:
C0=C.subject_to([C.passing([0,1])])

Here is the rotation around the point [0,1] by the matrix from K, N or A

In [7]:
Ci=C0.sl2_similarity(a,sign*b,b,a,e)
T=tan(C0,0,1)
Ti=tan(Ci,0,1)

The cycle C10 through the point $(0.1)$ and its image C1i under the transformation.

In [8]:
C10=C1.subject_to([C1.passing([0,1])])
C1i=C10.sl2_similarity(a,sign*b,b,a,e)
T1=tan(C10,0,1)
T1i=tan(C1i,0,1)

The result of check is the same as before:

In [9]:
make_check(T,T1,Ti,T1i)
The angle between vector and its image depends only on a and b: $2 \frac{ a b}{a^{2}+ b^{2} \sigma}$
Out[9]:
Tangents between initial vectors and their images are the same: 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