In this chapter, we document algorithms for arithmetic Fuchsian groups. Let F be a totally real number field. Let A be a quaternion algebra over F, a central simple algebra of dimension 4 (see Chapter QUATERNION ALGEBRAS), such that A is split at exactly one real place, corresponding to the injective map ι_∞:A to M2(R). Let O be a maximal order in A (see also Section Orders), let O^ * denote the group of elements of O of reduced norm 1, and let Γ(1)=ι_∞(O^ * )/{+- 1} ⊂PSL2(R). An arithmetic Fuchsian group Γis a discrete subgroup of PSL2(R) which is commensurable with Γ(1) (for some choice of F and A).
The classical case of the modular groups corresponds to F=Q, A=M2(Q), O=M2(Z), and Γ(1)=PSL2(Z). Specialized algorithms for this case apply, and they are treated in detail in Chapter CONGRUENCE SUBGROUPS OF PSL2(R). To exclude this case, we assume throughout that A is a division ring, or equivalently A not isomorphic to M2(Q).
The group Γacts properly and discontinuously on the upper half-plane Hh, and the quotient Γ\ Hh = X(Γ) can be given the structure of a compact Riemann surface, called a Shimura curve.
We exhibit methods for computing with arithmetic Fuchsian groups Γ, including the basic invariants of Γand a fundamental domain for X(Γ). We provide further specialized algorithms for triangle groups. Along the way, we also present an interface for computing with the unit disc, parallel to that for the upper half-plane (see Chapter CONGRUENCE SUBGROUPS OF PSL2(R)).
The algorithm used to compute fundamental domains is described in [Voi09].
We recommend the following additional reading concerning the algorithms in this section. For an introduction to Fuchsian groups, see Katok [Kat92] and Beardon [Bea77], and for their relationship to quaternion algebras, see also Vignéras [Vig80]. For a computational perspective on arithmetic Fuchsian groups and Shimura curves, see Alsina-Bayer [AB04], Elkies [Elk98], and Voight [Voi05], and for a discussion of triangle groups, see Voight [Voi06].
Acknowledgements
Arithmetic Fuchsian Groups
Creation
Quaternionic Functions
Basic Invariants
Group Structure
Unit Disc
Creation
Basic Operations
Access Operations
Distance and Angles
Structural Operations
Fundamental Domains
Triangle Groups
Creation of Triangle Groups
Fundamental Domain
CM Points
Bibliography
Creation
FuchsianGroup(O) : AlgQuatOrd -> GrpPSL2
FuchsianGroup(A) : AlgQuat -> GrpPSL2
FuchsianGroup(A, N) : AlgQuat, RngOrdIdl -> GrpPSL2
Example GrpPSL2Shim_ConstructAFG1 (H131E1)
Quaternionic Functions
QuaternionOrder(G) : GrpPSL2 -> AlgQuatOrd
QuaternionAlgebra(G) : GrpPSL2 -> AlgQuat
SplitRealPlace(A) : AlgQuat -> PlcNum
FuchsianMatrixRepresentation(A) : AlgQuat -> Map
DefiniteNorm(gamma) : AlgQuatElt -> FldReElt
DefiniteGramMatrix(B) : SeqEnum[AlgQuatElt] -> FldReElt
Example GrpPSL2Shim_QuaternionicFunctions (H131E2)
MultiplicativeOrder(gamma) : AlgAssVOrdElt -> SeqEnum
Quaternion(g) : GrpPSL2Elt -> AlgQuatElt
Basic Invariants
ArithmeticVolume(G) : GrpPSL2 -> FldRatElt
EllipticInvariants(G) : GrpPSL2 -> SeqEnum
Signature(G) : GrpPSL2 -> SeqEnum
Group Structure
Group(G) : GrpPSL2 -> GrpFP, Map, Map
Example GrpPSL2Shim_BasicInvariants (H131E3)
Creation
UnitDisc() : -> SpcHyd
Basic Operations
D ! x : SpcHyd, . -> SeqEnum
x eq y : SpcHydElt, SpcHydElt -> BoolElt
a * x : RngElt, SpcHydElt -> RngElt
x + y : SpcHydElt, RngElt -> RngElt
x - y : SpcHydElt, RngElt -> RngElt
x / a : SpcHydElt, RngElt -> RngElt
Access Operations
IsExact(z) : SpcHydElt -> BoolElt, .
ExactValue(z) : SpcHydElt -> .
ComplexValue(z) : SpcHydElt -> FldComElt
Im(z) : SpcHydElt -> FldReElt
Re(z) : SpcHydElt -> FldReElt
Argument(z) : SpcHydElt -> FldReElt
Abs(z) : SpcHydElt -> FldReElt
Example GrpPSL2Shim_UnitDiscBasics (H131E4)
Distance and Angles
Distance(z,w) : SpcHydElt, SpcHydElt -> FldReElt
Geodesic(z,w) : SpcHydElt, SpcHydElt -> RngElt, RngElt
TangentAngle(x,y) : SpcHydElt, SpcHydElt -> FldReElt
Angle(e1,e2) : [SpcHydElt], [SpcHydElt] -> FldReElt
ArithmeticVolume(P) : [SpcHydElt] -> FldReElt
Example GrpPSL2Shim_UnitDiscAngle (H131E5)
Structural Operations
T * x : GrpPSL2Elt, SpcHydElt -> SpcHydElt
Center(D) : SpcHyd -> RngElt
DiscToPlane(H,z) : SpcHyp, SpcHydElt -> SpcHypElt
PlaneToDisc(D,z) : SpcHyd, SpcHypElt -> SpcHydElt
Matrix(g,D) : GrpPSL2Elt, SpcHyd -> AlgMatElt
FixedPoints(g,D) : GrpPSL2Elt, SpcHyd -> SeqEnum
IsometricCircle(g) : GrpPSL2Elt -> RngElt, RngElt
IsometricCircle(g,D) : GrpPSL2Elt, SpcHyd -> RngElt, RngElt
GeodesicsIntersection(x1,x2) : [SpcHydElt], [SpcHydElt]) -> .
BoundaryIntersection(x) : [SpcHydElt] -> [FldComElt]
Example GrpPSL2Shim_UnitDiscPractice2 (H131E6)
Fundamental Domains
FundamentalDomain(G,D) : GrpPSL2, SpcHyd -> SeqEnum
FundamentalDomain(G) : GrpPSL2 -> SeqEnum
Example GrpPSL2Shim_FundamentalDomains (H131E7)
ShimuraReduceUnit(delta, gammagens, G, D) : AlgAssVOrdElt, SeqEnum[AlgAssVOrdElt], GrpPSL2, SpcHyd -> SeqEnum
Creation of Triangle Groups
ArithmeticTriangleGroup(p,q,r) : RngIntElt, RngIntElt, RngIntElt -> GrpPSL2, Rng
AdmissableTriangleGroups() : -> SeqEnum
IsTriangleGroup(G) : GrpPSL2 -> BoolElt
Fundamental Domain
ReduceToTriangleVertices(G,z) : GrpPSL2, SpcHypElt -> SpcHypElt
CM Points
HypergeometricSeries2F1(A,B,C,z) : FldRatElt, FldRatElt, FldRatElt, FldComElt -> FldComElt
Example GrpPSL2Shim_Hypergeometric2F1 (H131E8)
ShimuraConjugates(mu) : AlgAssVOrdElt -> SeqEnum
jParameter(G,z) : GrpPSL2, SpcHypElt -> FldComElt, SeqEnum
Example GrpPSL2Shim_Triangle239CMPoints1 (H131E9)
CMPoints(G,mu) : GrpPSL2, AlgAssVOrdElt -> RngUPolElt, SeqEnum
Example GrpPSL2Shim_Triangle239CMPoints2 (H131E10)
Bibliography
[Next][Prev] [Right] [____] [Up] [Index] [Root]
Version: V2.19 of
Mon Dec 17 14:40:36 EST 2012