Arithmetic Fuchsian Groups

In this section, we computing the basic invariants of an arithmetic Fuchsian group Γ.

Contents

Creation

We begin by giving the basic constructors for arithmetic Fuchsian groups.

FuchsianGroup(O) : AlgQuatOrd -> GrpPSL2
FuchsianGroup(O) : AlgAssVOrd -> GrpPSL2
Returns the arithmetic Fuchsian group Γ corresponding to the group O * of units of reduced norm 1 in the quaternion order O.
FuchsianGroup(A) : AlgQuat -> GrpPSL2
Returns the arithmetic Fuchsian group Γ corresponding to the group O * of units of reduced norm 1 in a maximal order O in the quaternion algebra A.
FuchsianGroup(A, N) : AlgQuat, RngOrdIdl -> GrpPSL2
FuchsianGroup(A, N) : AlgQuat, RngIntElt -> GrpPSL2
Returns the arithmetic Fuchsian group Γ corresponding to the group O * of units of reduced norm 1 in an order O of level N in the quaternion algebra A.

Example GrpPSL2Shim_ConstructAFG1 (H140E1)

In this example, we construct arithmetic Fuchsian groups in three ways. First, we construct the group associated to the quaternion algebra of discriminant 6 over Q.

> A := QuaternionAlgebra(6);
> G := FuchsianGroup(A);
> G;
Arithmetic Fuchsian group arising from order of Quaternion Algebra with base
ring Rational Field
> O := BaseRing(G);
> O;
Order of Quaternion Algebra with base ring Rational Field
with coefficient ring Integer Ring
> Discriminant(O);
6
> Algebra(O) eq A;
true

Next, we construct a group "by hand", associated to the quaternion algebra over the totally real subfield F=Q(ζ9)^ + of Q(ζ9) ramified only at two of the three real infinite places.

> K<z> := CyclotomicField(9);
> F := sub<K | z+1/z >;
> Degree(F);
3
> Z_F := MaximalOrder(F);
> Foo := InfinitePlaces(F);
> A := QuaternionAlgebra(ideal<Z_F | 1>, Foo[2..3]);
> Discriminant(A);
Principal Ideal of Z_F
Generator:
    [1, 0, 0]
[ 2nd place at infinity, 3rd place at infinity ]
> O := MaximalOrder(A);
> G := FuchsianGroup(O);
> G;
Arithmetic Fuchsian group arising from order of Quaternion Algebra with base
ring Field of Fractions of Maximal Equation Order with defining polynomial x^3 -
3*x - 1 over its ground order

Lastly, we construct the group of level 3 inside a quaternion algebra ramified at 2∞1 over Q(Sqrt(5)).

> F<x> := NumberField(Polynomial([-5,0,1]));
> Z_F := MaximalOrder(F);
> A := QuaternionAlgebra(ideal<Z_F | 2>, InfinitePlaces(F)[1..1]);
> G := FuchsianGroup(A, ideal<Z_F | 3>);
> O := BaseRing(G);
> O;
Order of Quaternion Algebra with base ring Field of Fractions of Z_F
with coefficient ring Maximal Order of Equation Order with defining polynomial
x^2 - 5 over its ground order
> Discriminant(O);
Principal Ideal of Z_F
Generator:
    6/1*Z_F.1
> Discriminant(A);
Principal Prime Ideal of Z_F
Generator:
    [2, 0]
[ 1st place at infinity ]
> Level(G);
Principal Ideal of Z_F
Generator:
    3/1*Z_F.1

Quaternionic Functions

In this section, we provide some functions related quaternion algebras which underlie the other functions in this chapter.

Let A be a quaternion algebra over a totally real field F, represented in standard form by α, β ∈A satisfying α2=a, β2=b, and βα= - αβ. Suppose that A has a unique split real place v; we then take this place to be the identity and consider F as a subfield of R. Then at least one of a, b>0, and without loss of generality we may assume that a>0.

We then define the embedding ι:A to M2(R), given by α |-> (matrix(Sqrt(a) & 0
0 & - Sqrt(a))), β |-> (matrix(0 & Sqrt(|b|)
sgn(b)Sqrt(|b|) & 0)). This particular choice of embedding is governed by the following. The reduced norm nrd:A to R given by γ = x + yα + zβ + wαβ |-> nrd(γ)=x2 - ay2 - bz2 + abw2 is not a Euclidean norm, so it is natural to instead take γ |-> nrd'(γ)=x2 + |a|y2 + |b|z2 + |ab|w2, which corresponds to nrd'(γ)=x2 + y2 + z2 + w2(if )ι(γ)=(matrix(x & y
z & w)). Combining this new norm, defined for the identity real place, with the ones corresponding to the nonidentity real places σ, we may then define the definite norm N(γ) = nrd'(γ) + ∑σ != id σ(nrd(γ)). This norm (and the corresponding Gram matrix) on A are used in the application to fundamental domains (see the next section).

QuaternionOrder(G) : GrpPSL2 -> AlgQuatOrd
BaseRing(G) : GrpPSL2 -> AlgQuatOrd
The order in some quaternion algebra that was used to define the Fuchsian group G.
QuaternionAlgebra(G) : GrpPSL2 -> AlgQuat
The quaternion algebra used to define the Fuchsian group G.
SplitRealPlace(A) : AlgQuat -> PlcNum
Returns the unique real place at which A is split, if it exists.
FuchsianMatrixRepresentation(A) : AlgQuat -> Map
Returns the map A to M2(R) when A has a unique split place, as defined above.
DefiniteNorm(gamma) : AlgQuatElt -> FldReElt
Returns the definite norm of γ ∈A for A a quaternion algebra with a unique split real place, as defined above.
DefiniteGramMatrix(B) : SeqEnum[AlgQuatElt] -> FldReElt
Returns the definite Gram matrix for the basis B of a quaternion algebra A with a unique split real place, as defined above.

Example GrpPSL2Shim_QuaternionicFunctions (H140E2)

We begin by defining the quaternion algebra over F=Q(Sqrt(5)) which is ramified at the prime ideal 2 and the second real place ∞2, as indexed by Magma.

> F<w> := QuadraticField(5);
> Z_F := MaximalOrder(F);
> Foo := InfinitePlaces(F);
> A<alpha,beta> := QuaternionAlgebra(ideal<Z_F | 2>, [Foo[2]]);
> a, b := StandardForm(A);
> F!a, F!b;
-1 w + 2
The algorithm is random; entering the preceding input again will produce a different choice of a and b. Next we perform an independent check that a and b define the same algebra.
> IsIsomorphic(A, QuaternionAlgebra< F | a, b >);
true

We see that A is isomorphic to the algebra represented in standard form by α2=a, β2=b, βα= - αβ where a= - 1, b=2 + Sqrt(5). (Note that the algorithm used to construct A is probabilistic, so a and b are not canonically given.)

We now demonstrate the real embedding corresponding to the split real place ∞1.

> v := SplitRealPlace(A);
> v;
1st place at infinity
> iota := FuchsianMatrixRepresentation(A);
> iota(alpha);
[0.0000000000000000000000000000000000000000000000000000000000000000000000000000
    000000000000000000000000 1.000000000000000000000000000000000000000000000000
    000000000000000000000000000000000000000000000000000]
[-1.000000000000000000000000000000000000000000000000000000000000000000000000000
    000000000000000000000000 0.000000000000000000000000000000000000000000000000
    0000000000000000000000000000000000000000000000000000]
> iota(beta);
[2.0581710272714922503219810475804504212387300996778194862815423526404796231583
    78925542297104146968394 0.0000000000000000000000000000000000000000000000000
    000000000000000000000000000000000000000000000000000]
[0.0000000000000000000000000000000000000000000000000000000000000000000000000000
    000000000000000000000000 -2.05817102727149225032198104758045042123873009967
    7819486281542352640479623158378925542297104146968394]
> Sqrt(Evaluate(b, v));
2.05817102727149225032198104758045042123873009967781948628154235264047962315837
8925542297104146968394
> DefiniteNorm(alpha);
3.00000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000

We see indeed that α |-> (matrix(0 & 1
- 1 & 0)), β |-> (matrix(Sqrt(2 + √(5)) & 0
0 & - Sqrt(2 + √(5)))) and N(α)=nrd'(α) + σ(nrd(α))=(02 + 12 + ( - 1)2 + 02) + 1=3.

MultiplicativeOrder(gamma) : AlgAssVOrdElt -> SeqEnum
MultiplicativeOrder(gamma) : AlgQuatElt -> SeqEnum
    PlusMinus: BoolElt                  Default: true
Computes the order of the element γ of a quaternion algebra; either a finite number or 0 if the element has infinite order. If PlusMinus eq true, then compute the order in the group of units modulo ∓ 1.
Quaternion(g) : GrpPSL2Elt -> AlgQuatElt
For g an element of an arithmetic Fuchsian group, return the underlying element of the quaternionic order.

Basic Invariants

In this section, we compute the basic invariants associated to an arithmetic Fuchsian group Γ.

The first is the hyperbolic volume vol(X) of the orbit space X=Γ\Hh, which can be computed via a formula of Shimizu: vol(X)=((1 /2))d - 2 ζF( - 1) ∏p | disc A (N(p) - 1) where d=[F:Q]. This volume is normalized so that an ideal triangle (i.e. a triangle with all vertices on the boundary of Hh) has volume 1/2. With this normalization, vol(X) takes rational values.

The next invariant is the signature of Γ. A point z ∈Hh is an elliptic point of order k ≥2 if the stabilizer of z under Γ, which is a finite cyclic group, has order k. There are only finitely many Γ-conjugacy classes of elliptic points, also known as elliptic cycles. If Γ has t elliptic cycles of order m1, ..., mt, and X has genus g, then we say that Γ has signature (g;m1, ..., mt).

We compute the number of elliptic cycles of order k by a formula (too complicated to state here) which requires the computation of the relative class group of a CM extension of number fields. The genus g can then be calculated by the Riemann-Hurwitz formula: vol(X) = 2g - 2 + ∑i=1t (1 - (1 /mi)).

ArithmeticVolume(G) : GrpPSL2 -> FldRatElt
Returns the hyperbolic volume of the quotient of the upper half-plane by G for an arithmetic Fuchsian group G. The volume is normalized arithmetic volume, so the "usual" volume is divided by 2π; this gives an ideal triangle volume 1/2.
EllipticInvariants(G) : GrpPSL2 -> SeqEnum
Returns the number of elliptic cycles of the arithmetic Fuchsian group G as a sequence of elliptic orders and their multiplicities.
Signature(G) : GrpPSL2 -> SeqEnum
Returns the signature of the arithmetic Fuchsian group G.

Group Structure

We now compute a finite presentation for an arithmetic Fuchsian group Γ.

If Γ has signature (g;m1, ..., mt), then there exists a standard presentation for Γ, generated (freely) by α1, β1, ..., αg, βg, γ1, ..., γt with the relations γ1m1= ... =γtmt=[α1, β1] ... [αg, βg] γ1 ... γt = 1 where [αi, βi]=αiβiαi - 1βi - 1 is the commutator. In the special case where g=0, there exists an algorithm to reconstruct the standard presentation; if g>0, we only obtain a finite presentation, and it is possible that the construction of a standard presentation may be algorithmically impractical.

Our algorithm uses a fundamental domain F for Γ (see section Fundamental Domains). In brief, we compute the set of elements which pair the sides of F; these elements are provably generators for the group Γ, and the relations between them are given as the set of minimal loops in a graph which records the side pairings.

Group(G) : GrpPSL2 -> GrpFP, Map, Map
Returns a presentation U for the arithmetic Fuchsian group G, a map U to G, and a map U to O where O is the quaternion order corresponding to G.

Example GrpPSL2Shim_BasicInvariants (H140E3)

In this example, we compute the basic invariants of the arithmetic Fuchsian group associated to a maximal order in the quaternion algebra of discriminant 6 over Q.

> A := QuaternionAlgebra(6);
> O := MaximalOrder(A);
> G := FuchsianGroup(O);
> ArithmeticVolume(G);
1/3
> EllipticInvariants(G);
[ <2, 2>, <3, 2> ]
> Genus(G);
0
> Signature(G);
<0, [2, 2, 3, 3]>

We verify the Riemann-Hurwitz formula 1/3 = 2.0 - 2 + 2(1 - (1 /2)) + 2(1 - (1 /3)).

We can also compute a finite presentation of this group.

> U, m := Group(G);
> U;
Finitely presented group U on 3 generators
Relations
    U.1^2 = Id(U)
    U.2^3 = Id(U)
    U.3^3 = Id(U)
    (U.2 * U.1 * U.3)^2 = Id(U)
> [Matrix(m(U.i)) : i in [1..2]];
[
    [-0.44721359549995793928183473374634344441856698198020262470211905349191088
        22850343946302640398390408845 -1.09544511501033222691393956560182030636
        1751136512834480425665136619270191207412304725356516468009374]
    [1.095445115010332226913939565601820306361751136512834480425665136619270191
        207412304725356516468009374 0.44721359549995793928183473374634344441856
        69819802026247021190534919108822850343946302640398390408845],
    [0.170820393249936908922752100619735659953958748115047636673027591262383066
        3212351288138489551667724006 0.4184228011239092912722673110503248597003
        073307330865863518420141891341904873780366272041685003642481]
    [-2.86791254390708738946955138575621625166625481138975671478453458144009456
        7944693063167063601605004483 -1.170820393249936908922752100619735659953
        958748115047636673027591262383066321235128813848955166772401]
]
> [A!Quaternion(m(U.i)) : i in [1..2]];
[ -1/5*j + 1/5*k, -1/2 - 1/2*i + 3/10*j - 3/10*k ]

Next we compute a more complicated example, exhibiting an elliptic cycle of order 11. The group Γ corresponds to F=Q(ζ11)^ + and A the quaternion algebra only at real places. (See also the section on triangle groups.)

> K<z> := CyclotomicField(11);
> F := sub<K | z+1/z >;
> Foo := InfinitePlaces(F);
> Z_F := MaximalOrder(F);
> A := QuaternionAlgebra(ideal<Z_F | 1>, Foo[1..4]);
> G := FuchsianGroup(A);
> Signature(G);
<0, [ 2, 3, 11 ]>
> U, m := Group(G);
> U;
Finitely presented group U on 2 generators
Relations
    U.1^2 = Id(U)
    U.2^3 = Id(U)
    (U.1 * U.2^-1)^11 = Id(U)

As a final example, we show that the finite presentation of G may indeed be quite complicated. Here, we examine the (torsion-free) group associated to the quaternion algebra over Q with discriminant 35.

> G := FuchsianGroup(QuaternionOrder(35));
> Signature(G);
<3, []>;
> time U := Group(G);
Time: 78.870
> U;
Finitely presented group U on 6 generators
Relations
    U.5 * U.4^-1 * U.5^-1 * U.1 * U.3 * U.2^-1 * U.3^-1 * U.6 * U.4 *
    U.2 * U.1^-1 * U.6^-1 = Id(U)
V2.28, 13 July 2023