None ex.I.6.22

Check expressions for cycle similarity

Exercise I.6.22 [1] Check that: $ \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}} $

  • The cycle $\bs$-similarity with a cycle $\cycle[\tilde]{s}{\bs}$, where $\det \cycle[\tilde]{s}{\bs}\neq 0$, preserves the structure of FSCc matrices and $\cycle[\tilde]{s_1}{\bs}$ is its fixed point. In a non-singular case, $\det \cycle[\tilde]{s}{\bs}\neq 0$, the second iteration of similarity is the identity map.

  • The $\bs$-similarity with a $\bs$-zero-radius cycle $\zcycle{s}{\bs}$ always produces this cycle.

  • The $\bs$-similarity with a cycle $(k,l,n,m)$ is a linear transformation of the cycle space $\Space{R}{4}$ with a matrix having an apparent regularity of its entries.

Solution. We explicitly define complex matrices corresponding to the cycles

In [1]:
from init_cycle import *
Mat=matrix([[l+I*sign2*n,-m],[k,-l+I*sign2*n]])
Mat1=matrix([[l1+I*sign1*n1,-m1],[k1,-l1+I*sign1*n1]])
            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 calculate similarity of respective matrices

In [2]:
Res7=(Mat*Mat1.conjugate()*Mat).evalm().expand()

Then we calculate cycle similarity from the library

In [3]:
Cn=C1.cycle_similarity(C,e,diag_matrix([1,sign1]),diag_matrix([1,sign2]))

Check that we get the same answers

In [4]:
print("With cycle conjugation we obtain")
"  coeff k is the same: %s" % (Cn.get_k().subs({sign : -1})-Res7.op(2)).normal().is_zero()
With cycle conjugation we obtain
Out[4]:
'  coeff k is the same: False'

Since the first coefficient is different we need to check the projective equality (proportionality) of other coefficients:

In [5]:
"  coeff l is proportional: %s" % (Res7.op(2)*(Cn.get_l(0)+I*Cn.get_l(1)).subs({sign : -1})\
-Cn.get_k().subs({sign : -1})*Res7.op(0)).normal().is_zero()
Out[5]:
'  coeff l is proportional: True'
In [6]:
"  coeff m is proportional: %s" % (Res7.op(2)*Cn.get_m().subs({sign : -1})\
+Cn.get_k().subs({sign : -1})*Res7.op(1)).normal().is_zero()
Out[6]:
'  coeff m is proportional: True'

A separate check for zero-radius cycles, it is a projection to it

In [7]:
"Conjugation with a zero-radius cycle is this cycle: %s" %\
C.cycle_similarity(Z).is_equal(Z)
Out[7]:
'Conjugation with a zero-radius cycle is this cycle: True'

Finally we output the explicit expression for the similarity:

In [8]:
Latex("Conjugation with a generic cycle is: $%s$" %\
C1.cycle_similarity(C).string())
Out[8]:
Conjugation with a generic cycle is: $(- {k'} \sigma n^{2}+2 {n'} k \sigma n+ k^{2} {m'}-2 k {l} {l'}+ {k'} {l}^{2}, {\left(\begin{array}{cc}- m k {l'}+ m {k'} {l}+2 {n'} \sigma {l} n- {l}^{2} {l'}- \sigma {l'} n^{2}+ k {m'} {l}& {n'} {l}^{2}- {n'} m k+ {n'} \sigma n^{2}-2 {l} {l'} n+ k {m'} n+ m {k'} n\end{array}\right)}_{{symbol271} }, {m'} {l}^{2}+2 {n'} m \sigma n+ m^{2} {k'}-2 m {l} {l'}- {m'} \sigma n^{2})$

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