1<Chapter Label="Intro"> 2<Heading>Introduction</Heading> 3 4<Section Label="IntroAims"> 5<Heading>General aims of &Congruence; package</Heading> 6 7<Index Key="IsCongruenceSubgroup"><C>IsCongruenceSubgroup</C></Index> 8The &GAP; package &Congruence; provides functions to construct several 9types of canonical congruence subgroups in <M>SL_2(&ZZ;)</M>, and also 10intersections of a finite number of such subgroups. 11<P/> 12 13Furthermore, it implements the algorithm for generating Farey symbols for 14congruence subgroups and using them to produce a system of independent 15generators for these subgroups. 16<P/> 17 18Using the package, one can also determine indices of congruence subgroups and 19their intersections in <M>SL_2(&ZZ;)</M> and in other congruence subgroups, 20generate their random elements and check element memberships. Success of other 21group theoretical constructions mostly depends on whether they could be 22expressed in terms of group generators or not. 23<P/> 24 25For the theoretical backround, we refer to <Cite Key="LLT-Hecke" />, 26<Cite Key="LLT-Algorithm" />, <Cite Key="CLT" /> and <Cite Key="Kulkarni" />. 27 28 29</Section> 30 31<!-- ********************************************************* --> 32 33<Section Label="IntroInstall"> 34<Heading>Installation and system requirements</Heading> 35 36&Congruence; is distributed in standard formats (<File>tar.gz</File>, 37<File>tar.bz2</File>, <File>-win.zip</File>) and can be obtained from 38<URL>http://www.cs.st-andrews.ac.uk/~alexk/congruence/</URL>. 39<P/> 40 41&Congruence; does not use external binaries and, therefore, works without 42restrictions on the operating system. 43It requires at least version &GAP; 4.5, and no compatibility with 44previous releases of &GAP; 4 is guaranteed. 45<P/> 46 47Installation of the package is standard and follows the guidelines from the 48&GAP; manual (see <Ref Sect="Installing a GAP Package" BookName="ref"/>. 49After the package is installed, you can start &GAP; and load 50the &Congruence; package using the command: 51 52<Log> 53<![CDATA[ 54gap> LoadPackage("congruence"); 55]]> 56</Log> 57 58 59 60</Section> 61 62</Chapter> 63