Farey Symbols and Fundamental Domains

One method of finding fundamental domains for congruence subgroups is the method of Farey Symbols, as described by Kulkarni [Kul91].

A generalized Farey sequence is a sequence of rationals (a1 /b1)< (a2 /b2)< ... < (an /bn) such that for a consecutive pair of fractions (b /d), (a /c) in the sequence, written in lowest terms, we have ad - bc = 1. We extend the rationals to Q∪{-∞, ∞}, where we use the convention -∞= (-1/0) and ∞= (1/0).

A Farey Symbol is a Farey sequence of length n starting with (-1/0), and ending with (1/0), together with a sequence of n - 1 labels. We use the convention that labels can be any elements of N>0∪{-2, - 3}. The sequence of labels must satisfy the condition that each element of N>0 appears in the sequence either exactly twice or not at all. For example, the sequences [(-1/0), (0/1), (1/2), (2/3), (5/7), (3/4), (1/1), (1/0)] and [ 1, 2, 2, - 3, - 2, - 2, 1] define a Farey symbol, which is generally written in the following format:

matrix( &1&& 2&& 2&& - 3&& - 2&& - 3 && 1
{(-1/0)., &&(0/1), && (1/2), &&(2/3), &&(5/7), &&(3/4), &&(1/1), &&.(1/0)}. )

Farey symbols are used to define certain fundamental domains for congruence subgroups of PSL2(Z). The sequence of fractions gives cusps which are vertices of the domain, and the labels give edge identifications. For ai, ai + 1 in the Farey sequence, with corresponding label li not -3, the corresponding edge of the domain is a geodesic between ai and ai + 1. If the label is -3, there is an extra elliptic point of order 3 on the boundary of the domain between the two cusps, and the two edges between these cusps are identified. The label li= - 2 indicates an elliptic point of order 2 on the boundary between the two cusps ai and ai + 1. This point is on the geodesic between ai and ai + 1, and the two halves of the geodesic are identified.

FareySymbol(G) : GrpPSL2 -> SymFry
Computes the Farey Symbol of a congruence subgroup G in PSL2(Z).
Cusps(FS) : SymFry -> SeqEnum
Returns the cusp sequence of the Farey symbol FS. Note, this is not a sequence of inequivalent cusps of the corresponding group.
Labels(FS) : SymFry-> SeqEnum
Returns the sequence of edge labels of a Farey symbol FS.
Generators(FS) : SymFry -> SeqEnum
Returns the generators of the congruence subgroup corresponding to the Farey symbol FS.

Group(FS) : SymFry -> GrpPSL2
Returns the congruence subgroup corresponding to the Farey Symbol FS.

Widths(FS) : SymFry -> SeqEnum
Returns the sequence of integers giving twice the widths of the cusp list of the Farey symbol FS.

Index(FS) : SymFry -> RngIntElt
Returns the index of Group(FS) in PSL2(Z).
FundamentalDomain(FS) : SymFry -> SeqEnum
FundamentalDomain(FS,H) : SymFry, SpcHyp -> SeqEnum
Returns the vertices in the upper half plane of the fundamental domain described by the Farey Sequence FS. A second argument may be given to specify the upper half plane H.
CosetRepresentatives(FS) : SymFry -> SeqEnum
Returns the coset representatives of the congruence subgroup of PSL2(Z) corresponding to the Farey symbol FS.
InternalEdges(FS) : SymFry -> SeqEnum
Returns a sequence of pairs of cusps which are cusps of the Farey Symbol FS, and which are not adjacent in FS but which are images of 0 and infinity under some matrix in PSL2(Z).
V2.28, 13 July 2023