In this section, we computing the basic invariants of an arithmetic Fuchsian group Γ.
We begin by giving the basic constructors for arithmetic Fuchsian groups.
Returns the arithmetic Fuchsian group Γ corresponding to the group O * of units of reduced norm 1 in the quaternion order O.
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.
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.
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
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).
The order in some quaternion algebra that was used to define the Fuchsian group G.
The quaternion algebra used to define the Fuchsian group G.
Returns the unique real place at which A is split, if it exists.
Returns the map A to M2(R) when A has a unique split place, as defined above.
Returns the definite norm of γ ∈A for A a quaternion algebra with a unique split real place, as defined above.
Returns the definite Gram matrix for the basis B of a quaternion algebra A with a unique split real place, as defined above.
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 + 2The 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.
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.
For g an element of an arithmetic Fuchsian group, return the underlying element of the quaternionic order.
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)).
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.
Returns the number of elliptic cycles of the arithmetic Fuchsian group G as a sequence of elliptic orders and their multiplicities.
Returns the signature of the arithmetic Fuchsian group G.
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.
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.
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)