Goto Chapter: Top 1 2 3 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

1 Introduction
 1.1 General aims of the ModularGroup package
 1.2 Technicalities

1 Introduction

1.1 General aims of the ModularGroup package

This GAP package provides methods for computing with finite-index subgroups of the modular groups \({\rm SL}_2(ℤ)\) and \({\rm PSL}_2(ℤ)\). This includes, but is not limited to, computation of the generalized level, index or cusp widths. It also implements algorithms described in [Hsu96] and [HL14] for testing if a given group is a congruence subgroup. Hence it differs from the Congruence package [DJKV18], which can be used - among other things - to construct canonical congruence subgroups of \({\rm SL}_2(ℤ)\).

1.2 Technicalities

A convenient way to represent finite-index subgroups of \({\rm SL}_2(ℤ)\) is by specifying the action of generator matrices of \({\rm SL}_2(ℤ)\) on the right cosets by right multiplication. For example, one could choose the generators

\[ S = \left( \begin{array}{rr} 0 & -1 \\ 1 & 0 \end{array} \right) \quad T = \left( \begin{array}{rr} 1 & 1 \\ 0 & 1 \end{array} \right) \]

and represent a subgroup as a tuple of transitive permutations \((\sigma_S,\sigma_T)\) describing the action of \(S\) and \(T\). This is exactly the way this package internally treats such subgroups. We use the convention that \(1\) corresponds to the coset of the identity matrix. Note that such a representation as a tuple of permutations is only unique up to relabelling of the cosets, i.e. up to simultaneous conjugation (fixing the \(1\) coset by our convention). To not restrict ModularGroup to right multiplication on right cosets, getters and setters are defined in two versions: one by right multiplication on right cosets ("ViaRightAction") and one by left multiplication on left cosets ("ViaLeftAction").

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML