Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

10 Congruence Subgroups, Cuspidal Cohomology and Hecke Operators
 10.1 Eichler-Shimura isomorphism
 10.2 Generators for \(SL_2(\mathbb Z)\) and the cubic tree
 10.3 One-dimensional fundamental domains and generators for congruence subgroups
 10.4 Cohomology of congruence subgroups
 10.5 Cuspidal cohomology
 10.6 Hecke operators

10 Congruence Subgroups, Cuspidal Cohomology and Hecke Operators

In this chapter we explain how HAP can be used to make computions about modular forms associated to congruence subgroups \(\Gamma\) of \(SL_2(\mathbb Z)\).

10.1 Eichler-Shimura isomorphism

We begin by recalling the Eichler-Shimura isomorphism [Eic57][Shi59]

\[ S_k(\Gamma) \oplus \overline{S_k(\Gamma)} \oplus E_k(\Gamma) \cong_{\sf Hecke} H^1(\Gamma,M_{k-2})\]

which relates the cohomology of groups to the theory of modular forms associated to a finite index subgroup \(\Gamma\) of \(SL_2(\mathbb Z)\). In subsequent sections we explain how to compute with the right-hand side of the isomorphism. But first, for completeness, let us define the terms on the left-hand side.

Let \(N\) be a positive integer. A subgroup \(\Gamma\) of \(SL_2(\mathbb Z)\) is said to be a congruence subgroup of level \(N \) if it contains the kernel of the canonical homomorphism \(\pi_N\colon SL_2(\mathbb Z) \rightarrow SL_2(\mathbb Z/N\mathbb Z)\). So any congruence subgroup is of finite index in \(SL_2(\mathbb Z)\), but the converse is not true.

One congruence subgroup of particular interest is the group \(\Gamma(N)=\ker(\pi_N)\), known as the principal congruence subgroup of level \(N\). Another congruence subgroup of particular interest is the group \(\Gamma_0(N)\) of those matrices that project to upper triangular matrices in \(SL_2(\mathbb Z/N\mathbb Z)\).

A modular form of weight \(k\) for a congruence subgroup \(\Gamma\) is a complex valued function on the upper-half plane, \(f\colon {\frak{h}}=\{z\in \mathbb C : Re(z)>0\} \rightarrow \mathbb C\), satisfying:

The collection of all weight \(k\) modular forms for \(\Gamma\) form a vector space \(M_k(\Gamma)\) over \(\mathbb C\).

A modular form \(f\) is said to be a cusp form if \(f(\infty)=0\). The collection of all weight \(k\) cusp forms for \(\Gamma\) form a vector subspace \(S_k(\Gamma)\). There is a decomposition

\[M_k(\Gamma) \cong S_k(\Gamma) \oplus E_k(\Gamma)\]

involving a summand \(E_k(\Gamma)\) known as the Eisenstein space. See [Ste07] for further introductory details on modular forms.

The Eichler-Shimura isomorphism is more than an isomorphism of vector spaces. It is an isomorphism of Hecke modules: both sides admit notions of Hecke operators, and the isomorphism preserves these operators. The bar on the left-hand side of the isomorphism denotes complex conjugation. See [Wie78] for a full account of the isomorphism.

On the right-hand side of the isomorphism, the \(\mathbb Z\Gamma\)-module \(M_{k-2}\subset \mathbb C[x,y]\) denotes the space of homogeneous degree \(k-2\) polynomials with action of \(\Gamma\) given by

\[\left(\begin{array}{ll}a&b\\ c &d \end{array}\right)\cdot p(x,y) = p(ax+cy,bx+dy)\ .\]

In particular \(M_0=\mathbb C\) is the trivial module.

In the following sections we explain how to use the right-hand side of the Eichler-Shimura isomorphism to compute eigenvalues of the Hecke operators restricted to the subspace \(S_k(\Gamma)\) of cusp forms.

10.2 Generators for \(SL_2(\mathbb Z)\) and the cubic tree

The matrices \(S=\left(\begin{array}{rr}0&-1\\ 1 &0 \end{array}\right)\) and \(T=\left(\begin{array}{rr}1&1\\ 0 &1 \end{array}\right)\) generate \(SL_2(\mathbb Z)\) and it is not difficult to devise an algorithm for expressing an arbitrary integer matrix \(A\) of determinant \(1\) as a word in \(S\), \(T\) and their inverses. The following illustrates such an algorithm.

gap> A:=[[4,9],[7,16]];;
gap> word:=AsWordInSL2Z(A);
[ [ [ 1, 0 ], [ 0, 1 ] ], [ [ 0, 1 ], [ -1, 0 ] ], [ [ 1, -1 ], [ 0, 1 ] ], 
  [ [ 0, 1 ], [ -1, 0 ] ], [ [ 1, 1 ], [ 0, 1 ] ], [ [ 0, 1 ], [ -1, 0 ] ], 
  [ [ 1, -1 ], [ 0, 1 ] ], [ [ 1, -1 ], [ 0, 1 ] ], [ [ 1, -1 ], [ 0, 1 ] ], 
  [ [ 0, 1 ], [ -1, 0 ] ], [ [ 1, 1 ], [ 0, 1 ] ], [ [ 1, 1 ], [ 0, 1 ] ] ]
gap> Product(word);
[ [ 4, 9 ], [ 7, 16 ] ]

It is convenient to introduce the matrix \(U=ST = \left(\begin{array}{rr}0&-1\\ 1 &1 \end{array}\right)\). The matrices \(S\) and \(U\) also generate \(SL_2(\mathbb Z)\). In fact we have a free presentation \(SL_2(\mathbb Z)= \langle S,T\, |\, S^4=U^6=1 \rangle \).

The cubic tree \(\cal T\) is a tree (i.e. a \(1\)-dimensional contractible regular CW-complex) with countably infinitely many edges in which each vertex has degree \(3\). We can realize the cubic tree \(\cal T\) by taking the left cosets of \({\cal U}=\langle U\rangle\) in \(SL_2(\mathbb Z)\) as vertices, and joining cosets \(x\,{\cal U} \) and \(y\,{\cal U}\) by an edge if, and only if, \(x^{-1}y \in {\cal U}\, S\,{\cal U}\). Thus the vertex \(\cal U \) is joined to \(S\,{\cal U} \), \(US\,{\cal U}\) and \(U^2S\,{\cal U}\). The vertices of this tree are in one-to-one correspondence with all reduced words in \(S\), \(U\) and \(U^2\) that, apart from the identity, end in \(S\).

From our realization of the cubic tree \(\cal T\) we see that \(SL_2(\mathbb Z)\) acts on \(\cal T\) in such a way that each vertex is stabilized by a cyclic subgroup conjugate to \({\cal U}=\langle U\rangle\) and each edge is stabilized by a cyclic subgroup conjugate to \({\cal S} =\langle S \rangle\).

In order to store this action of \(SL_2(\mathbb Z)\) on the cubic tree \(\cal T\) we just need to record the following finite amount of information.

Information for the cubic tree

10.3 One-dimensional fundamental domains and generators for congruence subgroups

Recall that a cell structure on a space \(X\) is a partition of \(X\) into subsets \(e_i\) such that each \(e_i\) is homeomorphic to an open Euclidean ball of some dimension. We say that \(e_i\) is an \(n\)-cell if it is homeomorphic to the open \(n\)-dimensional ball. We say that the cell structure is reduced if it has precisely one \(0\)-cell. A CW-complex is a cell complex satisfying extra conditions.

Suppose that we wish to compute a set of generators for a congruence subgroup \(\Gamma\). The required generators correspond to the \(1\)-cells of a reduced classifying CW-complex (or free resolution) \(B(\Gamma)\). Such a classifying complex can be constructed, using perturbation techniques, from \( \cal T\) and reduced classifying CW-complexes \(B(stab(e^0))\), \(B(Stab(e^1))\) for the stabilizer groups of a vertex and edge of \(\cal T\). In this construction, the \(1\)-cells of \(B(\Gamma)\) are in one-one correspondence with generators for the first homology of the quotient graph \( \Gamma \setminus \cal T\) together with the \(1\)-cells of \(B(stab(e^0))\). If \(\Gamma\) acts freely on the vertices of \( \cal T\) then the \(1\)-cells of \(B(\Gamma)\) are in one-one correspondence with just the generators for the first homology of \( \Gamma \setminus \cal T\). To determine the quotient \( \Gamma \setminus \cal T\) we need to determine a cellular subspace \(D_\Gamma \subset \cal T\) whose images under the action of \(\Gamma\) cover \(\cal T\) and are pairwise either disjoint or identical. The subspace \(D_\Gamma\) will not be a CW-complex as it won't be closed, but it can be chosen to be connected, and hence contractible. We call \(D_\Gamma\) a fundamental region for \(\Gamma\). We denote by \(\mathring D_\Gamma\) the largest CW-subcomplex of \(D_\Gamma\). The vertices of \(\mathring D_\Gamma\) are the same as the vertices of \(D_\Gamma\). Thus \(\mathring D_\Gamma\) is a subtree of the cubic tree whose vertices correspond to coset representatives of \(\Gamma\) in \(SL_2(\mathbb Z)\). For each vertex \(v\) in the tree \(\mathring D_\Gamma\) define \(\eta(v)=3 -{\rm degree}(v)\). Then the number of homology generators for \( \Gamma \setminus \cal T\) will be \((1/2)\sum_{v\in \mathring D_\Gamma} \eta(v)\). The role of tree diagrams in the study of congruence subgroups of \(SL_2(\mathbb Z)\) is explained in detail in [Kul91].

Suppose that we wish to calculate a set of generators for the principal congruence subgroup \(\Gamma(N)\) of level \(N\). Note that \(\Gamma(N)\) intersects trivially with \(\cal U\), and hence \(\Gamma(N)\) acts freely on the vertices of the cubical tree \(\cal T\). The following commands determine generators for \(\Gamma(6)\) and display \(\mathring D_{\Gamma(6)}\).

gap> G:=HAP_PrincipalCongruenceSubgroup(6);;
gap> gens:=GeneratorsOfGroup(G);
[ [ [ -65, 18 ], [ 18, -5 ] ], [ [ -41, 18 ], [ 66, -29 ] ], 
  [ [ -29, 12 ], [ 12, -5 ] ], [ [ -17, -12 ], [ -24, -17 ] ], 
  [ [ -17, -6 ], [ -48, -17 ] ], [ [ -5, 6 ], [ -6, 7 ] ], 
  [ [ -5, 18 ], [ -12, 43 ] ], [ [ 1, -6 ], [ 0, 1 ] ], 
  [ [ 1, 0 ], [ -6, 1 ] ], [ [ 7, -18 ], [ -12, 31 ] ], 
  [ [ 7, 12 ], [ 18, 31 ] ], [ [ 7, 18 ], [ 12, 31 ] ], 
  [ [ 13, -18 ], [ -18, 25 ] ], [ [ 19, -30 ], [ -12, 19 ] ] ]
gap> HAP_SL2TreeDisplay(G);


Fundamental region in the cubic tree

The congruence subgroup \(\Gamma_0(N)\) does not act freely on the vertices of \(\cal T\). However, we can replace \(\cal T\) by a double cover \({\cal T}'\) which admits a free action of \(\Gamma_0(N)\) on its vertices. The following commands display \(\mathring D_{\Gamma(39)}\) for a fundamental region in \({\cal T}'\).

gap> G:=HAP_CongruenceSubgroupGamma0(39);;
gap> HAP_SL2TreeDisplay(G);

Fundamental region in the cubic tree

To compute \(D_\Gamma\) one only needs to be able to test whether a given matrix lies in \(\Gamma\) or not. However, for speed, the above calculations of \(D_\Gamma\) take advantage in GAP's facility for iterating over elements of \(SL_2(\mathbb Z/N \mathbb Z)\). An algorithm that does not use this facility is also implemented but seems to be a bit slower in general.

Given an inclusion \(\Gamma'\subset \Gamma\) of congruence subgroups, it is straightforward to use the trees \(\mathring D_{\Gamma'}\) and \(\mathring D_{\Gamma}\) to compute a system of coset representative for \(\Gamma'\setminus \Gamma\).

10.4 Cohomology of congruence subgroups

To compute the cohomology \(H^n(\Gamma,A)\) of a congruence subgroup \(\Gamma\) with coefficients in a \(\mathbb Z\Gamma\)-module \(A\) we need to construct \(n+1\) terms of a free \(\mathbb ZG\)-resolution of \(\mathbb Z\). We can do this by first using perturbation techniques (as described in [BE14]) to combine the cubic tree with resolutions for the cyclic groups of order \(4\) and \(6\) in order to produce a free \(\mathbb ZG\)-resolution \(R_\ast\) for \(G=SL_2(\mathbb Z)\). This resolution is also a free \(\mathbb Z\Gamma\)-resolution with each term of rank

\[{\rm rank}_{\mathbb Z\Gamma} R_k = |G:\Gamma|\times {\rm rank}_{\mathbb ZG} R_k\ .\]

For congruence subgroups of lowish index in \(G\) this resolution suffices to make computations.

The following commands compute

\[H^1(\Gamma_0(39),\mathbb Z) = \mathbb Z^9\ .\]

gap> R:=ResolutionSL2Z_alt(2);
Resolution of length 2 in characteristic 0 for SL(2,Integers) .

gap> gamma:=HAP_CongruenceSubgroupGamma0(39);;
gap> S:=ResolutionFiniteSubgroup(R,gamma);
Resolution of length 2 in characteristic 0 for 
CongruenceSubgroupGamma0( 39)  .

gap> Cohomology(HomToIntegers(S),1);
[ 0, 0, 0, 0, 0, 0, 0, 0, 0 ]

The following commands show that \({\rm rank}_{\mathbb Z\Gamma_0(39)} R_1 = 112\) but that it is possible to apply `Tietze like' simplifications to \(R_\ast\) to obtain a free \(\mathbb Z\Gamma_0(39)\)-resolution \(T_\ast\) with \({\rm rank}_{\mathbb Z\Gamma_0(39)} T_1 = 11\). It is more efficient to work with \(T_\ast\) when making cohomology computations with coefficients in a module \(A\) of large rank.

gap> S!.dimension(1);
112
gap> T:=TietzeReducedResolution(S);
Resolution of length 2 in characteristic 0 for CongruenceSubgroupGamma0(
39)  . 

gap> T!.dimension(1);
11

The above computations establish that the space \(M_2(\Gamma_0(39))\) of weight \(2\) modular forms is of dimension \(9\).

10.5 Cuspidal cohomology

To define and compute cuspidal cohomology we consider the action of \(SL_2(\mathbb Z)\) on the upper-half plane \({\frak h}\) given by

\[\left(\begin{array}{ll}a&b\\ c &d \end{array}\right) z = \frac{az +b}{cz+d}\ .\]

A standard `fundamental domain' for this action is the region

\[\begin{array}{ll} D=&\{z\in {\frak h}\ :\ |z| > 1, |{\rm Re}(z)| < \frac{1}{2}\} \\ & \cup\ \{z\in {\frak h} \ :\ |z| \ge 1, {\rm Re}(z)=-\frac{1}{2}\}\\ & \cup\ \{z \in {\frak h}\ :\ |z|=1, -\frac{1}{2} \le {\rm Re}(z) \le 0\} \end{array} \]

illustrated below.

Fundamental domain in the upper-half plane

The action factors through an action of \(PSL_2(\mathbb Z) =SL_2(\mathbb Z)/\langle \left(\begin{array}{rr}-1&0\\ 0 &-1 \end{array}\right)\rangle\). The images of \(D\) under the action of \(PSL_2(\mathbb Z)\) cover the upper-half plane, and any two images have at most a single point in common. The possible common points are the bottom left-hand corner point which is stabilized by \(\langle U\rangle\), and the bottom middle point which is stabilized by \(\langle S\rangle\).

A congruence subgroup \(\Gamma\) has a `fundamental domain' \(D_\Gamma\) equal to a union of finitely many copies of \(D\), one copy for each coset in \(\Gamma\setminus SL_2(\mathbb Z)\). The quotient space \(X=\Gamma\setminus {\frak h}\) is not compact, and can be compactified in several ways. We are interested in the Borel-Serre compactification. This is a space \(X^{BS}\) for which there is an inclusion \(X\hookrightarrow X^{BS}\) and this inclusion is a homotopy equivalence. One defines the boundary \(\partial X^{BS} = X^{BS} - X\) and uses the inclusion \(\partial X^{BS} \hookrightarrow X^{BS} \simeq X\) to define the cuspidal cohomology group, over the ground ring \(\mathbb C\), as

\[ H_{cusp}^n(\Gamma,M_{k-2}) = \ker (\ H^n(X,M_{k-2}) \rightarrow H^n(\partial X^{BS},M_{k-2}) \ ).\]

Stricly speaking, this is the definition of interior cohomology \(H_!^n(\Gamma,M_{k-2})\) and not cuspidal cohomology. However, for congruence subgroups of \(SL_2(\mathbb Z)\) there is an equality \(H_!^n(\Gamma,M_{k-2}) = H_{cusp}^n(\Gamma,M_{k-2})\).

Working over \(\mathbb C\) has the advantage of avoiding the technical issue that \(\Gamma \) does not necessarily act freely on \({\frak h}\) since there are points with finite cyclic stabilizer groups in \(SL_2(\mathbb Z)\). But it has the disadvantage of losing information about torsion in cohomology. So HAP confronts the issue by working with a contractible CW-complex \(\tilde X^{BS}\) on which \(\Gamma\) acts freely, and \(\Gamma\)-equivariant inclusion \(\partial \tilde X^{BS} \hookrightarrow \tilde X^{BS}\). The definition of cuspidal cohomology that we use, which coincides with the above definition when working over \(\mathbb C\), is

\[ H_{cusp}^n(\Gamma,A) = \ker (\ H^n({\rm Hom}_{\, \mathbb Z\Gamma}(C_\ast(\tilde X^{BS}), A)\, ) \rightarrow H^n(\ {\rm Hom}_{\, \mathbb Z\Gamma}(C_\ast(\tilde \partial X^{BS}), A)\, \ ).\]

The following data is recorded and, using perturbation theory, is combined with free resolutions for \(C_4\) and \(C_6\) to constuct \(\tilde X^{BS}\).

Borel-Serre compactified fundamental domain in the upper-half plane

The following commands calculate

\[H^1_{cusp}(\Gamma_0(39),\mathbb Z) = \mathbb Z^6\ .\]

gap> gamma:=HAP_CongruenceSubgroupGamma0(39);;
gap> c:=CuspidalIntegralCohomology(gamma,1);
[ g1, g2, g3, g4, g5, g6, g7, g8, g9 ] -> [ g1^-1*g3, g1^-1*g3, g1^-1*g3, 
  g1^-1*g3, g1^-1*g2, g1^-1*g3, g1^-1*g4, g1^-1*g4, g1^-1*g4 ]
gap> AbelianInvariants(Kernel(c));
[ 0, 0, 0, 0, 0, 0 ]

From the Eichler-Shimura isomorphism and the already calculated dimension of \(M_2(\Gamma_0(39))\cong \mathbb C^9\), we deduce from this cuspidal cohomology that the space \(S_2(\Gamma_0(39))\) of cuspidal weight 2 forms is of dimension \(3\), and the Eisenstein space \(E_2(\Gamma_0(39))\cong \mathbb C^3\) is of dimension \(3\).

10.6 Hecke operators

A congruence subgroup \(\Gamma \le SL_n(\mathbb Z)\) and element \(g\in SL_n(\mathbb Q)\) determine the subgroup \(\Gamma' = \Gamma \cap g\Gamma g^{-1} \) and homomorphisms

\[ \Gamma\ \hookleftarrow\ \Gamma'\ \ \stackrel{\gamma \mapsto g^{-1}\gamma g}{\longrightarrow}\ \ g^{-1}\Gamma' g\ \hookrightarrow \Gamma\ . \]

These homomorphisms give rise to homomorphisms of cohomology groups

\[H^k(\Gamma,\mathbb Z)\ \ \stackrel{tr}{\leftarrow} \ \ H^k(\Gamma',\mathbb Z) \ \ \stackrel{\alpha}{\leftarrow} \ \ H^k(g^{-1}\Gamma' g,\mathbb Z) \ \ \stackrel{\beta}{\leftarrow} H^k(\Gamma, \mathbb Z) \]

with \(\alpha\), \(\beta\) functorial maps, and \(tr\) the transfer map. We define the composite \(T_g=tr \circ \alpha \circ \beta\colon H^k(\Gamma, \mathbb Z) \rightarrow H^k(\Gamma, \mathbb Z)\) to be the Hecke operator determined by \(g\). Further details on this description of Hecke operators can be found in [Ste07, Appendix by P. Gunnells].

The following commands computs \(T_g\) for \(k=1\), \(g=\left(\begin{array}{cc}2&0\\0&\frac{1}{2}\end{array}\right)\) and \(\Gamma=\Gamma_0(39)\).

gap> gamma:=HAP_CongruenceSubgroupGamma0(39);;
gap> p:=2;;N:=1;;h:=HeckeOperator(gamma,p,N);;
gap> AbelianInvariants(Source(h));
[ 0, 0, 0, 0, 0, 0, 0, 0, 0 ]

gap> A:=HomomorphismAsMatrix(h);;
gap> Display(A);
[ [  -4,   2,   4,   4,  -3,   0,   3,   3,  -3 ],
  [  -4,  -2,   6,   4,   1,   0,   1,   1,  -1 ],
  [  -3,   1,   3,   4,   0,   0,   1,   1,  -1 ],
  [  -3,   1,   4,   2,  -4,   2,   4,   4,  -4 ],
  [  -5,  -1,   7,   4,   2,   0,  -1,  -1,   1 ],
  [  -7,  -3,   6,   6,   0,   2,   2,   2,  -2 ],
  [  -1,   7,   2,  -4,  -5,   2,   5,  -1,   1 ],
  [  -2,  -2,   4,   4,   0,   0,  -4,   2,   4 ],
  [   0,   4,   1,  -4,  -5,   2,   2,   2,   4 ] ]
gap> Eigenvalues(Rationals,A);
[ 6, -2 ]

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 Bib Ind

generated by GAPDoc2HTML