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.
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.
Lastly, we construct the group of level 3 inside a quaternion algebra
ramified at 2∞1 over Q(Sqrt(5)).
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 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) : 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.
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)
[Next][Prev] [Right] [____]
[Up] [Index] [Root]