QEtaFundamentalDomain¶
fundom.spad line 92 [edit on github]
QEtaFundamentalDomain finds a matrix in SL2Z that transforms a given t in the upper half plane of the form t=u + i*v*sqrt(D) where u and v are rational numbers and D is a positive sqarefree integer into an element z=r+i*s*sqrt(D) in the standard fundamental domain.
- decomposeIntoSTProduct: Matrix Integer -> FreeGroup Symbol
- decomposeIntoSTProduct(m)returns a non-commutative powerproduct- fgsin the variables- Sand- Tsuch that- mis equal to this product if- Sis replaced by the matrix [[0,- -1],[1,0]] and- Tby the matrix [[1,1],[0,1]]. Suppose that s:=”S”::Symbol;t:=”T”::Symbol; mat(x:Record(gen:Symbol,exp:ZZ)):Matrix(Integer)- ==(- x.gen=t=>matrix[[1,- x.exp],[0,1]];z:=positiveRemainder(- x.exp,4); z=0=>unit;z=2=>-unit;z=1=>matrix[[0,- -1],[1,0]];matrix[[0,1],[- -1,0]]); unit:=matrix[[1,0],[0,1]]; M:=reduce(- _*,[mat- ffor- fin factors- fgs],unit) then- m=M.
- toFundamentalDomain: (AlgebraicNumber, PositiveInteger) -> Matrix Integer
- If - t=(u+v*sqrt(- -d))- /wwhere- u,- v,- w,- dare integers and- d>0,- w>0, then toFundamentalDomain(- t,- k) returns a matrix- msuch that- mis a finite product of powers the matrices S=matrix[[0,- -k],[1,0]] and T=matrix[[1,- k],[0,1]] such that if a+sqrt(- -d)*b=moebiusTransform(- m, (u+v*sqrt(- -d))- /w), then- -k/2<=a<k/2and a^2+b^2*d>=k. The value- k=1corresponds to the group SL2Z whereas- k=2corresponds to the Radu-Wurm group.