<h3>13 <span class="Heading">Congruence Subgroups, Cuspidal Cohomology and Hecke Operators</span></h3>
<p>In this chapter we explain how HAP can be used to make computions about modular forms associated to congruence subgroups <span class="SimpleMath">\(\Gamma\)</span> of <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span>. Also, in Subsection 10.8 onwards, we demonstrate cohomology computations for the <em>Picard group</em> <span class="SimpleMath">\(SL_2(\mathbb Z[i])\)</span>, some <em>Bianchi groups</em> <span class="SimpleMath">\(PSL_2({\cal O}_{-d}) \)</span> where <span class="SimpleMath">\({\cal O}_{d}\)</span> is the ring of integers of <span class="SimpleMath">\(\mathbb Q(\sqrt{-d})\)</span> for square free positive integer <span class="SimpleMath">\(d\)</span>, and some other groups of the form <span class="SimpleMath">\(SL_m({\cal O})\)</span>, <span class="SimpleMath">\(GL_m({\cal O})\)</span>, <span class="SimpleMath">\(PSL_m({\cal O})\)</span>, <span class="SimpleMath">\(PGL_m({\cal O})\)</span>, for <span class="SimpleMath">\(m=2,3,4\)</span> and certain <span class="SimpleMath">\({\cal O}=\mathbb Z, {\cal O}_{-d}\)</span>.</p>
<p>We begin by recalling the Eichler-Shimura isomorphism <a href="chapBib_mj.html#biBeichler">[Eic57]</a><a href="chapBib_mj.html#biBshimura">[Shi59]</a></p>
<p>which relates the cohomology of groups to the theory of modular forms associated to a finite index subgroup <span class="SimpleMath">\(\Gamma\)</span> of <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span>. 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.</p>
<p>Let <span class="SimpleMath">\(N\)</span> be a positive integer. A subgroup <span class="SimpleMath">\(\Gamma\)</span> of <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span> is said to be a <em>congruence subgroup</em> of level <span class="SimpleMath">\(N \)</span> if it contains the kernel of the canonical homomorphism <span class="SimpleMath">\(\pi_N\colon SL_2(\mathbb Z) \rightarrow SL_2(\mathbb Z/N\mathbb Z)\)</span>. So any congruence subgroup is of finite index in <spanclass="SimpleMath">\(SL_2(\mathbb Z)\)</span>, but the converse is not true.</p>
<p>One congruence subgroup of particular interest is the group <span class="SimpleMath">\(\Gamma_1(N)=\ker(\pi_N)\)</span>, known as the <em>principal congruence subgroup</em> of level <span class="SimpleMath">\(N\)</span>. Another congruence subgroup of particular interest is the group <span class="SimpleMath">\(\Gamma_0(N)\)</span> of those matrices that project to upper triangular matrices in <span class="SimpleMath">\(SL_2(\mathbb Z/N\mathbb Z)\)</span>.</p>
<p>A <em>modular form</em> of weight <span class="SimpleMath">\(k\)</span> for a congruence subgroup <span class="SimpleMath">\(\Gamma\)</span> is a complex valued function on the upper-half plane, <span class="SimpleMath">\(f\colon {\frak{h}}=\{z\in \mathbb C : Re(z)>0\} \rightarrow \mathbb C\)</span>, satisfying:</p>
<ul>
<li><p><span class="SimpleMath">\(\displaystyle f(\frac{az+b}{cz+d}) = (cz+d)^k f(z)\)</span> for <span class="SimpleMath">\(\left(\begin{array}{ll}a&b\\ c &d \end{array}\right) \in \Gamma\)</span>,</p>
</li>
<li><p><span class="SimpleMath">\(f\)</span> is `holomorphic' on the extended upper-half plane\(\frak{h}^\ast = \frak{h} \cup \mathbb Q \cup \{\infty\}\) obtained from the upper-half plane by `adjoining a point at each cusp'.</p>
</li>
</ul>
<p>The collection of all weight <span class="SimpleMath">\(k\)</span> modular forms for <span class="SimpleMath">\(\Gamma\)</span> form a vector space <span class="SimpleMath">\(M_k(\Gamma)\)</span> over <span class="SimpleMath">\(\mathbb C\)</span>.</p>
<p>A modular form <span class="SimpleMath">\(f\)</span> is said to be a <em>cusp form</em> if <span class="SimpleMath">\(f(\infty)=0\)</span>. The collection of all weight <span class="SimpleMath">\(k\)</span> cusp forms for <span class="SimpleMath">\(\Gamma\)</span> form a vector subspace <spanclass="SimpleMath">\(S_k(\Gamma)\)</span>. There is a decomposition</p>
<p>involving a summand <span class="SimpleMath">\(E_k(\Gamma)\)</span> known as the <em>Eisenstein space</em>. See <a href="chapBib_mj.html#biBstein">[Ste07]</a> for further introductory details on modular forms.</p>
<p>The Eichler-Shimura isomorphism is more than an isomorphism of vector spaces. It is an isomorphism of Hecke modules: both sides admit notions of <em>Hecke operators</em>, and the isomorphism preserves these operators. The bar on the left-hand side of the isomorphism denotes complex conjugation, or <em>anti-holomorphic</em> forms. See <a href="chapBib_mj.html#biBwieser">[Wie78]</a> for a full account of the isomorphism.</p>
<p>On the right-hand side of the isomorphism, the <span class="SimpleMath">\(\mathbb Z\Gamma\)</span>-module <span class="SimpleMath">\(P_{\mathbb C}(k-2)\subset \mathbb C[x,y]\)</span> denotes the space of homogeneous degree <span class="SimpleMath">\(k-2\)</span> polynomials with action of <span class="SimpleMath">\(\Gamma\)</span> given by</p>
<p class="center">\[\left(\begin{array}{ll}a&b\\ c &d \end{array}\right)\cdot p(x,y) = p(dx-by,-cx+ay)\ .\]</p>
<p>In particular <span class="SimpleMath">\(P_{\mathbb C}(0)=\mathbb C\)</span> is the trivial module. Below we shall compute with the integral analogue <span class="SimpleMath">\(P_{\mathbb Z}(k-2) \subset \mathbb Z[x,y]\)</span>.</p>
<p>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 <span class="SimpleMath">\(S_k(\Gamma)\)</span> of cusp forms.</p>
<h4>13.2 <span class="Heading">Generators for <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span> and the cubic tree</span></h4>
<p>The matrices <span class="SimpleMath">\(S=\left(\begin{array}{rr}0&-1\\ 1 &0 \end{array}\right)\)</span> and <span class="SimpleMath">\(T=\left(\begin{array}{rr}1&1\\ 0 &1 \end{array}\right)\)</span> generate <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span> and it is not difficult to devise an algorithm for expressing an arbitrary integer matrix <span class="SimpleMath">\(A\)</span> of determinant <span class="SimpleMath">\(1\)</span> as a word in <span class="SimpleMath">\(S\)</span>, <span class="SimpleMath">\(T\)</span> and their inverses. The following illustrates such an algorithm.</p>
<p>It is convenient to introduce the matrix <span class="SimpleMath">\(U=ST = \left(\begin{array}{rr}0&-1\\ 1 &1 \end{array}\right)\)</span>. The matrices <span class="SimpleMath">\(S\)</span> and <span class="SimpleMath">\(U\)</span> also generate <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span>. In fact we have a free presentation <span class="SimpleMath">\(SL_2(\mathbb Z)= \langle S,U\, |\, S^4=U^6=1, S^2=U^3 \rangle \)</span>.</p>
<p>The <em>cubic tree</em> <span class="SimpleMath">\(\cal T\)</span> is a tree (<em>i.e.</em> a <span class="SimpleMath">\(1\)</span>-dimensional contractible regular CW-complex) with countably infinitely many edges in which each vertex has degree <span class="SimpleMath">\(3\)</span>. We can realize the cubic tree <span class="SimpleMath">\(\cal T\)</span> by taking the left cosets of <span class="SimpleMath">\({\cal U}=\langle U\rangle\)</span> in <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span> as vertices, and joining cosets <span class="SimpleMath">\(x\,{\cal U} \)</span> and <span class="SimpleMath">\(y\,{\cal U}\)</span> by an edge if, and only if, <span class="SimpleMath">\(x^{-1}y \in {\cal U}\, S\,{\cal U}\)</span>. Thus the vertex <span class="SimpleMath">\(\cal U \)</span> is joined to <span class="SimpleMath">\(S\,{\cal U} \)</span>, <span class="SimpleMath">\(US\,{\cal U}\)</span> and <span class="SimpleMath">\(U^2S\,{\cal U}\)</span>. The vertices of this tree are in one-to-one correspondence with all reduced words in <span class="SimpleMath">\(S\)</span>, <span class="SimpleMath">\(U\)</span> and <span class="SimpleMath">\(U^2\)</span> that, apart from the identity, end in <span class="SimpleMath">\(S\)</span>.</p>
<p>From our realization of the cubic tree <span class="SimpleMath">\(\cal T\)</span> we see that <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span> acts on <span class="SimpleMath">\(\cal T\)</span> in such a way that each vertex is stabilized by a cyclic subgroup conjugate to <span class="SimpleMath">\({\cal U}=\langle U\rangle\)</span> and each edge is stabilized by a cyclic subgroup conjugate to <span class="SimpleMath">\({\cal S} =\langle S \rangle\)</span>.</p>
<p>In order to store this action of <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span> on the cubic tree <span class="SimpleMath">\(\cal T\)</span> we just need to record the following finite amount of information.</p>
<p><img src="images/fdsl2.png" align="center" width="350" alt="Information for the cubic tree"/></p>
<h4>13.3 <span class="Heading">One-dimensional fundamental domains and
generators for congruence subgroups</span></h4>
<p>The modular group <span class="SimpleMath">\({\cal M}=PSL_2(\mathbb Z)\)</span> is isomorphic, as an abstract group, to the free product <span class="SimpleMath">\(\mathbb Z_2\ast \mathbb Z_3\)</span>. By the Kurosh subgroup theorem, any finite index subgroup <span class="SimpleMath">\(M \subset {\cal M}\)</span> is isomorphic to the free product of finitely many copies of <span class="SimpleMath">\(\mathbb Z_2\)</span>s, <span class="SimpleMath">\(\mathbb Z_3\)</span>s and <span class="SimpleMath">\(\mathbb Z\)</span>s. A subset <span class="SimpleMath">\(\underline x \subset M\)</span> is an <em>independent</em> set of subgroup generators if <span class="SimpleMath">\(M\)</span> is the free product of the cyclic subgroups <span class="SimpleMath">\(<x >\)</span> as <span class="SimpleMath">\(x\)</span> runs over <span class="SimpleMath">\(\underline x\)</span>. Let us say that a set of elements in <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span> is <em>projectively independent</em> if it maps injectively onto an independent set of subgroup generators <span class="SimpleMath">\(\underline x\subset {\cal M}\)</span>. The generating set <span class="SimpleMath">\(\{S,U\}\)</span> for <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span> given in the preceding section is projectively independent.</p>
<p>We are interested in constructing a set of generators for a given congruence subgroup <span class="SimpleMath">\(\Gamma\)</span>. If a small generating set for <span class="SimpleMath">\(\Gamma\)</span> is required then we should aim to construct one which is close to being projectively independent.</p>
<p>It is useful to invoke the following general result which follows from a perturbation result about free <span class="SimpleMath">\(\mathbb ZG\)</span>-resolutons in <a href="chapBib_mj.html#biBellisharrisskoldberg">[EHS06, Theorem 2]</a> and an old observation of John Milnor that a free <span class="SimpleMath">\(\mathbb ZG\)</span>-resolution can be realized as the cellular chain complex of a CW-complex if it can be so realized in low dimensions.</p>
<p><strong class="button">Theorem.</strong> Let <span class="SimpleMath">\(X\)</span> be a contractible CW-complex on which a group <span class="SimpleMath">\(G\)</span> acts by permuting cells. The cellular chain complex <span class="SimpleMath">\(C_\ast X\)</span> is a <span class="SimpleMath">\(\mathbb ZG\)</span>-resolution of <span class="SimpleMath">\(\mathbb Z\)</span> which typically is not free. Let <span class="SimpleMath">\([e^n]\)</span> denote the orbit of the n-cell <span class="SimpleMath">\(e^n\)</span> under the action. Let <span class="SimpleMath">\(G^{e^n} \le G\)</span> denote the stabilizer subgroup of <span class="SimpleMath">\(e^n\)</span>, in which group elements are not required to stabilize <span class="SimpleMath">\(e^n\)</span> point-wise. Let <span class="SimpleMath">\(Y_{e^n}\)</span> denote a contractible CW-complex on which <span class="SimpleMath">\(G^{e^n}\)</span> acts cellularly and freely. Then there exists a contractible CW-complex <span class="SimpleMath">\(W\)</span> on which <span class="SimpleMath">\(G\)</span> acts cellularly and freely, and in which the orbits of <span class="SimpleMath">\(n\)</span>-cells are labelled by <span class="SimpleMath">\([e^p]\otimes [f^q]\)</span> where <span class="SimpleMath">\(p+q=n\)</span> and <span class="SimpleMath">\([e^p]\)</span> ranges over the <span class="SimpleMath">\(G\)</span>-orbits of <span class="SimpleMath">\(p\)</span>-cells in <span class="SimpleMath">\(X\)</span>, <span class="SimpleMath">\([f^q]\)</span> ranges over the <span class="SimpleMath">\(G^{e^p}\)</span>-orbits of <span class="SimpleMath">\(q\)</span>-cells in <span class="SimpleMath">\(Y_{e^p}\)</span>.</p>
<p>Let <span class="SimpleMath">\(W\)</span> be as in the theorem. Then the quotient CW-complex <span class="SimpleMath">\(B_G=W/G\)</span> is a classifying space for <span class="SimpleMath">\(G\)</span>. Let <span class="SimpleMath">\(T\)</span> denote a maximal tree in the <span class="SimpleMath">\(1\)</span>-skeleton <span class="SimpleMath">\(B^1_G\)</span>. Basic geometric group theory tells us that the <span class="SimpleMath">\(1\)</span>-cells in <span class="SimpleMath">\(B^1_G\setminus T\)</span> correspond to a generating set for <span class="SimpleMath">\(G\)</span>.</p>
<p>Suppose we wish to compute a set of generators for a principal congruence subgroup <span class="SimpleMath">\(\Gamma=\Gamma_1(N)\)</span>. In the above theorem take <span class="SimpleMath">\(X={\cal T}\)</span> to be the cubic tree, and note that <span class="SimpleMath">\(\Gamma\)</span> acts freely on <span class="SimpleMath">\(\cal T\)</span> and thus that <span class="SimpleMath">\(W={\cal T}\)</span>. To determine the <span class="SimpleMath">\(1\)</span>-cells of <spanclass="SimpleMath">\(B_{\Gamma}\setminus T\)</span> we need to determine a cellular subspace <span class="SimpleMath">\(D_\Gamma \subset \cal T\)</span> whose images under the action of <span class="SimpleMath">\(\Gamma\)</span> cover <span class="SimpleMath">\(\cal T\)</span> and are pairwise either disjoint or identical. The subspace <span class="SimpleMath">\(D_\Gamma\)</span> 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 with \(|\Gamma|/6\) vertices. For each vertex \(v\) in the tree \(\mathring D_\Gamma\) define \(\eta(v)=3 -{\rm degree}(v)\). Then the number of generators for \( \Gamma \) will be\((1/2)\sum_{v\in \mathring D_\Gamma} \eta(v)\).
<p>The following commands determine projectively independent generators for <span class="SimpleMath">\(\Gamma_1(6)\)</span> and display <span class="SimpleMath">\(\mathring D_{\Gamma_1(6)}\)</span>. The subgroup <span class="SimpleMath">\(\Gamma_1(6)\)</span> is free on <span class="SimpleMath">\(13\)</span> generators.</p>
<p><img src="images/pctree6.gif" align="center" width="350" alt="Fundamental region in the cubic tree"/></p>
<p>An alternative but very related approach to computing generators of congruence subgroups of <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span> is described in <a href="chapBib_mj.html#biBkulkarni">[Kul91]</a>.</p>
<p>The congruence subgroup <span class="SimpleMath">\(\Gamma_0(N)\)</span> does not act freely on the vertices of <span class="SimpleMath">\(\cal T\)</span>, and so one needs to incorporate a generator for the cyclic stabilizer group according to the above theorem. Alternatively, we can replace the cubic tree by a six-fold cover <span class="SimpleMath">\({\cal T}'\) on whose vertex set \(\Gamma_0(N)\) acts freely. This alternative approach will produce a redundant set of generators. The following commands display \(\mathring D_{\Gamma_0(39)}\) for a fundamental region in \({\cal T}'\)</span>. They also use the corresponding generating set for <span class="SimpleMath">\(\Gamma_0(39)\)</span>, involving <span class="SimpleMath">\(18\)</span> generators, to compute the abelianization <span class="SimpleMath">\(\Gamma_0(39)^{ab}= \mathbb Z_2 \oplus \mathbb Z_3^2 \oplus \mathbb Z^9\)</span>. The abelianization shows that any generating set has at least <span class="SimpleMath">\(11\)</span> generators.</p>
<p><img src="images/g0tree39.gif" align="center" width="350" alt="Fundamental region in the cubic tree"/></p>
<p>Note that to compute <span class="SimpleMath">\(D_\Gamma\)</span> one only needs to be able to test whether a given matrix lies in <span class="SimpleMath">\(\Gamma\)</span> or not. Given an inclusion <span class="SimpleMath">\(\Gamma'\subset \Gamma\) of congruence subgroups, it is straightforward to use the trees \(\mathring D_{\Gamma'}\)</span> and <span class="SimpleMath">\(\mathring D_{\Gamma}\)</span> to compute a system of coset representative for <span class="SimpleMath">\(\Gamma'\setminus \Gamma\).
<h4>13.4 <span class="Heading">Cohomology of congruence subgroups</span></h4>
<p>To compute the cohomology <span class="SimpleMath">\(H^n(\Gamma,A)\)</span> of a congruence subgroup <span class="SimpleMath">\(\Gamma\)</span> with coefficients in a <span class="SimpleMath">\(\mathbb Z\Gamma\)</span>-module <span class="SimpleMath">\(A\)</span> we need to construct <span class="SimpleMath">\(n+1\)</span> terms of a free <span class="SimpleMath">\(\mathbb Z\Gamma\)</span>-resolution of <span class="SimpleMath">\(\mathbb Z\)</span>. We can do this by first using perturbation techniques (as described in <a href="chapBib_mj.html#biBbuiellis">[BE14]</a>) to combine the cubic tree with resolutions for the cyclic groups of order <span class="SimpleMath">\(4\)</span> and <span class="SimpleMath">\(6\)</span> in order to produce a free <span class="SimpleMath">\(\mathbb ZG\)</span>-resolution <span class="SimpleMath">\(R_\ast\)</span> for <span class="SimpleMath">\(G=SL_2(\mathbb Z)\)</span>. This resolution is also a free <spanclass="SimpleMath">\(\mathbb Z\Gamma\)</span>-resolution with each term of rank</p>
<p>This computation establishes that the space <span class="SimpleMath">\(M_2(\Gamma_0(39))\)</span> of weight <span class="SimpleMath">\(2\)</span> modular forms is of dimension <span class="SimpleMath">\(9\)</span>.</p>
<p>The following commands show that <span class="SimpleMath">\({\rm rank}_{\mathbb Z\Gamma_0(39)} R_1 = 112\)</span> 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.
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S!.dimension(1);</span>
112
<span class="GAPprompt">gap></span> <span class="GAPinput">T:=TietzeReducedResolution(S);</span>
Resolution of length 2 in characteristic 0 for CongruenceSubgroupGamma0(
39) .
<p>This computation establishes that the space <span class="SimpleMath">\(M_{10}(\Gamma_0(39))\)</span> of weight <span class="SimpleMath">\(10\)</span> modular forms is of dimension <span class="SimpleMath">\(84\)</span>, and <span class="SimpleMath">\(M_{11}(\Gamma_0(39))\)</span> is of dimension <span class="SimpleMath">\(0\)</span>. (There are never any modular forms of odd weight, and so <span class="SimpleMath">\(M_k(\Gamma)=0\)</span> for all odd <span class="SimpleMath">\(k\)</span> and any congruence subgroup <span class="SimpleMath">\(\Gamma\)</span>.)</p>
<h5>13.4-1 <span class="Heading">Cohomology with rational coefficients</span></h5>
<p>To calculate cohomology <span class="SimpleMath">\(H^n(\Gamma,A)\)</span> with coefficients in a <span class="SimpleMath">\(\mathbb Q\Gamma\)</span>-module <span class="SimpleMath">\(A\)</span> it suffices to construct a resolution of <span class="SimpleMath">\(\mathbb Z\)</span> by non-free <span class="SimpleMath">\(\mathbb Z\Gamma\)</span>-modules where <span class="SimpleMath">\(\Gamma\)</span> acts with finite stabilizer groups on each module in the resolution. Computing over <span class="SimpleMath">\(\mathbb Q\)</span> is computationally less expensive than computing over <span class="SimpleMath">\(\mathbb Z\)</span>. The following commands first compute <span class="SimpleMath">\(H^1(\Gamma_0(39),\mathbb Q) = H_1(\Gamma_0(39),\mathbb Q)= \mathbb Q^9\)</span>. As a larger example, they then compute <span class="SimpleMath">\(H^1(\Gamma_0(2^{13}-1),\mathbb Q) =\mathbb Q^{1365}\)</span> where <span class="SimpleMath">\(\Gamma_0(2^{13}-1)\)</span> has index <span class="SimpleMath">\(8192\)</span> in <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">K:=ContractibleGcomplex("SL(2,Z)");</span>
Non-free resolution in characteristic 0 for SL(2,Integers) .
<span class="GAPprompt">gap></span> <span class="GAPinput">gamma:=HAP_CongruenceSubgroupGamma0(39);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">KK:=NonFreeResolutionFiniteSubgroup(K,gamma);</span>
Non-free resolution in characteristic 0 for <matrix group with
18 generators> .
<p>To define and compute cuspidal cohomology we consider the action of <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span> on the upper-half plane <span class="SimpleMath">\({\frak h}\)</span> given by</p>
<p class="center">\[\left(\begin{array}{ll}a&b\\ c &d \end{array}\right) z =
\frac{az +b}{cz+d}\ .\]</p>
<p>A standard 'fundamental domain' for this action is the region</p>
<p><img src="images/filename-1.png" align="center" width="450" alt="Fundamental domain in the upper-half plane"/></p>
<p>The action factors through an action of <span class="SimpleMath">\(PSL_2(\mathbb Z) =SL_2(\mathbb Z)/\langle \left(\begin{array}{rr}-1&0\\ 0 &-1 \end{array}\right)\rangle\)</span>. The images of <span class="SimpleMath">\(D\)</span> under the action of <span class="SimpleMath">\(PSL_2(\mathbb Z)\)</span> 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 <span class="SimpleMath">\(\langle U\rangle\)</span>, and the bottom middle point which is stabilized by <span class="SimpleMath">\(\langle S\rangle\)</span>.</p>
<p>A congruence subgroup <span class="SimpleMath">\(\Gamma\)</span> 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
<p>Strictly speaking, this is the definition of <em>interior cohomology</em> <span class="SimpleMath">\(H_!^n(\Gamma,P_{\mathbb C}(k-2))\)</span> which in general contains the cuspidal cohomology as a subgroup. However, for congruence subgroups of <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span> there is equality <span class="SimpleMath">\(H_!^n(\Gamma,P_{\mathbb C}(k-2)) = H_{cusp}^n(\Gamma,P_{\mathbb C}(k-2))\)</span>.</p>
<p>Working over <span class="SimpleMath">\(\mathbb C\)</span> has the advantage of avoiding the technical issue that <span class="SimpleMath">\(\Gamma \)</span> does not necessarily act freely on <span class="SimpleMath">\({\frak h}\)</span> since there are points with finite cyclic stabilizer groups in <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span>. But it has the disadvantage of losing information about torsion in cohomology. So HAP confronts the issue by working with a contractible CW-complex <span class="SimpleMath">\(\tilde X^{BS}\)</span> on which <span class="SimpleMath">\(\Gamma\)</span> acts freely, and <span class="SimpleMath">\(\Gamma\)</span>-equivariant inclusion <span class="SimpleMath">\(\partial \tilde X^{BS} \hookrightarrow \tilde X^{BS}\)</span>. The definition of cuspidal cohomology that we use, which coincides with the above definition when working over <span class="SimpleMath">\(\mathbb C\)</span>, is</p>
<p>The following data is recorded and, using perturbation theory, is combined with free resolutions for <span class="SimpleMath">\(C_4\)</span> and <span class="SimpleMath">\(C_6\)</span> to constuct <span class="SimpleMath">\(\tilde X^{BS}\)</span>.</p>
<p><img src="images/filename-2.png" align="center" width="450" alt="Borel-Serre compactified fundamental domain in the upper-half plane"/></p>
<p>From the Eichler-Shimura isomorphism and the already calculated dimension of <span class="SimpleMath">\(M_2(\Gamma_0(39))\cong \mathbb C^9\)</span>, we deduce from this cuspidal cohomology that the space <span class="SimpleMath">\(S_2(\Gamma_0(39))\)</span> of cuspidal weight <span class="SimpleMath">\(2\)</span> forms is of dimension <span class="SimpleMath">\(3\)</span>, and the Eisenstein space <span class="SimpleMath">\(E_2(\Gamma_0(39))\cong \mathbb C^3\)</span> is of dimension <span class="SimpleMath">\(3\)</span>.</p>
<p>The following commands show that the space <span class="SimpleMath">\(S_4(\Gamma_0(39))\)</span> of cuspidal weight <span class="SimpleMath">\(4\)</span> forms is of dimension <span class="SimpleMath">\(12\)</span>.</p>
<p>with <span class="SimpleMath">\(\alpha\)</span>, <span class="SimpleMath">\(\beta\)</span> functorial maps, and <span class="SimpleMath">\(tr\)</span> the transfer map. We define the composite <span class="SimpleMath">\(T_g=tr \circ \alpha \circ \beta\colon H^n(\Gamma, \mathbb Z) \rightarrow H^n(\Gamma, \mathbb Z)\)</span> to be the <em> Hecke component </em> determined by <span class="SimpleMath">\(g\)</span>.</p>
<p>For <span class="SimpleMath">\(\Gamma=\Gamma_0(N)\)</span>, prime integer <span class="SimpleMath">\(p\)</span> coprime to <span class="SimpleMath">\(N\)</span>, and cohomology degree <span class="SimpleMath">\(n=1\)</span> we define the <em>Hecke operator</em> <span class="SimpleMath">\(T_p =T_g\)</span> where <span class="SimpleMath">\(g=\left(\begin{array}{cc}1&0\\0&p\end{array}\right)\)</span>. Further details on this description of Hecke operators can be found in <a href="chapBib_mj.html#biBstein">[Ste07, Appendix by P. Gunnells]</a>.</p>
<p>The following commands compute <span class="SimpleMath">\(T_2\)</span> and <span class="SimpleMath">\(T_5\)</span> and <span class="SimpleMath">\(\Gamma=\Gamma_0(39)\)</span>. The commands also compute the eigenvalues of these two Hecke operators. The final command confirms that <span class="SimpleMath">\(T_2\)</span> and <span class="SimpleMath">\(T_5\)</span> commute. (It is a fact that <span class="SimpleMath">\(T_pT_q=T_qT_p\)</span> for all <span class="SimpleMath">\(p,q\)</span>.)</p>
<h4>13.7 <span class="Heading">Hecke operators on forms of weight <span class="SimpleMath">\( \ge 2\)</span></span></h4>
<p>The above definition of Hecke operator <span class="SimpleMath">\(T_p\)</span> for <span class="SimpleMath">\(\Gamma=\Gamma_0(N)\)</span> extends to a Hecke operator <span class="SimpleMath">\(T_p\colon H^1(\Gamma,P_{\mathbb Q}(k-2) ) \rightarrow H^1(\Gamma,P_{\mathbb Q}(k-2) )\)</span> for <span class="SimpleMath">\(k\ge 2\)</span>. We work over the rationals since that is a setting of much interest. The following commands compute the matrix of <span class="SimpleMath">\(T_2\colon H^1(\Gamma,P_{\mathbb Q}(k-2) ) \rightarrow H^1(\Gamma,P_{\mathbb Q}(k-2) )\)</span> for <span class="SimpleMath">\(\Gamma=SL_2(\mathbb Z)\)</span> and <span class="SimpleMath">\(k=4\)</span>;</p>
<h4>13.8 <span class="Heading">Reconstructing modular forms from cohomology computations</span></h4>
<p>Given a modular form <span class="SimpleMath">\(f\colon {\frak h} \rightarrow \mathbb C\)</span> associated to a congruence subgroup <span class="SimpleMath">\(\Gamma\)</span>, and given a compact edge <span class="SimpleMath">\(e\)</span> in the tessellation of <span class="SimpleMath">\({\frak h}\)</span> (<em>i.e.</em> an edge in the cubic tree <span class="SimpleMath">\(\cal T\)</span>) arising from the above fundamental domain for <span class="SimpleMath">\(SL_2(\mathbb Z)\)</span>, we can evaluate</p>
<p class="center">\[\int_e f(z)\,dz \ .\]</p>
<p>In this way we obtain a cochain <span class="SimpleMath">\(f_1\colon C_1({\cal T}) \rightarrow \mathbb C\)</span> in <span class="SimpleMath">\(Hom_{\mathbb Z\Gamma}(C_1({\cal T}), \mathbb C)\)</span> representing a cohomology class <span class="SimpleMath">\(c(f) \in H^1(\, Hom_{\mathbb Z\Gamma}(C_\ast({\cal T}), \mathbb C) \,) = H^1(\Gamma,\mathbb C)\)</span>. The correspondence <span class="SimpleMath">\(f\mapsto c(f)\)</span> underlies the Eichler-Shimura isomorphism. Hecke operators can be used to recover modular forms from cohomology classes.</p>
<p>Let <span class="SimpleMath">\(\Gamma=\Gamma_0(N)\)</span>. The above defined Hecke operators restrict to operators on cuspidal cohomology. On the left-hand side of the Eichler-Shimura isomorphism Hecke operators restrict to operators <span class="SimpleMath">\(T_s\colon S_2(\Gamma) \rightarrow S_2(\Gamma)\)</span> for <span class="SimpleMath">\(s\ge 1\)</span>.</p>
<p>Consider the function <span class="SimpleMath">\(q=q(z)=e^{2\pi i z}\)</span> which is holomorphic on <span class="SimpleMath">\(\mathbb C\)</span>. For any modular form <span class="SimpleMath">\(f(z) \in M_k(\Gamma)\)</span> there are numbers <span class="SimpleMath">\(a_s\)</span> such that</p>
<p>for all <span class="SimpleMath">\(z\in {\frak h}\)</span>. The form <span class="SimpleMath">\(f\)</span> is a cusp form if <span class="SimpleMath">\(a_0=0\)</span>.</p>
<p>A non-zero cusp form <span class="SimpleMath">\(f\in S_2(\Gamma)\)</span> is a cusp <em>eigenform</em> if it is simultaneously an eigenvector for the Hecke operators <span class="SimpleMath">\(T_s\)</span> for all <span class="SimpleMath">\(s =1,2,3,\cdots\)</span> coprime to the level <span class="SimpleMath">\(N\)</span>. A cusp eigenform is said to be <em>normalized</em> if its coefficient <span class="SimpleMath">\(a_1=1\)</span>. It turns out that if <span class="SimpleMath">\(f\)</span> is normalized then the coefficient <span class="SimpleMath">\(a_s\)</span> is an eigenvalue for <span class="SimpleMath">\(T_s\)</span> (see for instance <a href="chapBib_mj.html#biBstein">[Ste07]</a> for details). It can be shown <a href="chapBib_mj.html#biBatkinlehner">[AL70]</a> that <span class="SimpleMath">\(S_2(\Gamma_0(N))\)</span> admits a "basis constructed from eigenforms".</p>
<p>This all implies that, in principle, we can construct an approximation to an explicit basis for the space <span class="SimpleMath">\(S_2(\Gamma_0(N))\)</span> of cusp forms by computing eigenvalues for Hecke operators.</p>
<p>Suppose that we would like a basis for <span class="SimpleMath">\(S_2(\Gamma_0(11))\)</span>. The following commands first show that <span class="SimpleMath">\(H^1_{cusp}(\Gamma_0(11),\mathbb Z)=\mathbb Z\oplus \mathbb Z\)</span> from which we deduce that <span class="SimpleMath">\(S_2(\Gamma_0(11)) =\mathbb C\)</span> is <span class="SimpleMath">\(1\)</span>-dimensional and thus admits a basis of eigenforms. Then eigenvalues of Hecke operators are calculated to establish that the modular form</p>
<p>For a normalized eigenform <span class="SimpleMath">\(f=1 + \sum_{s=2}^\infty a_sq^s\)</span> the coefficients <span class="SimpleMath">\(a_s\)</span> with <span class="SimpleMath">\(s\)</span> a composite integer can be expressed in terms of the coefficients <span class="SimpleMath">\(a_p\)</span> for prime <span class="SimpleMath">\(p\)</span>. If <span class="SimpleMath">\(r,s\)</span> are coprime then <span class="SimpleMath">\(T_{rs} =T_rT_s\)</span>. If <span class="SimpleMath">\(p\)</span> is a prime that is not a divisor of the level <span class="SimpleMath">\(N\)</span> of <span class="SimpleMath">\(\Gamma\)</span> then <span class="SimpleMath">\(a_{p^m} =a_{p^{m-1}}a_p - p a_{p^{m-2}}.\)</span> If the prime <span class="SimpleMath">\( p\)</span> divides <span class="SimpleMath">\(N\)</span> then <span class="SimpleMath">\(a_{p^m} = (a_p)^m\)</span>. It thus suffices to compute the coefficients <span class="SimpleMath">\(a_p\)</span> for prime integers <span class="SimpleMath">\(p\)</span> only.</p>
<p>The following commands establish that <span class="SimpleMath">\(S_{12}(SL_2(\mathbb Z))\)</span> has a basis consisting of one cusp eigenform</p>
<p>Let us now consider the <em>Picard group</em> <span class="SimpleMath">\(G=SL_2(\mathbb Z[ i])\)</span> and its action on <em>upper-half space</em></p>
<p>To describe the action we introduce the symbol <span class="SimpleMath">\(j\)</span> satisfying <span class="SimpleMath">\(j^2=-1\)</span>, <span class="SimpleMath">\(ij=-ji\)</span> and write <span class="SimpleMath">\(z+tj\)</span> instead of <span class="SimpleMath">\((z,t)\)</span>. The action is given by</p>
<p>A standard 'fundamental domain' <span class="SimpleMath">\(D\)</span> for this action is the following region (with some of the boundary points removed).</p>
<p><img src="images/picarddomain.png" align="center" width="350" alt="Fundamental domain for the Picard group"/></p>
<p>The four bottom vertices of <span class="SimpleMath">\(D\)</span> are <span class="SimpleMath">\(a = -\frac{1}{2} +\frac{1}{2}i +\frac{\sqrt{2}}{2}j\)</span>, <span class="SimpleMath">\(b = -\frac{1}{2} +\frac{\sqrt{3}}{2}j\)</span>, <span class="SimpleMath">\(c = \frac{1}{2} +\frac{\sqrt{3}}{2}j\)</span>, <span class="SimpleMath">\(d = \frac{1}{2} +\frac{1}{2}i +\frac{\sqrt{2}}{2}j\)</span>.</p>
<p>The upper-half space <span class="SimpleMath">\({\frak h}^3\)</span> can be retracted onto a <span class="SimpleMath">\(2\)</span>-dimensional subspace <span class="SimpleMath">\({\cal T} \subset {\frak h}^3\)</span>. The space <span class="SimpleMath">\({\cal T}\)</span> is a contractible <span class="SimpleMath">\(2\)</span>-dimensional regular CW-complex, and the action of the Picard group <span class="SimpleMath">\(G\)</span> restricts to a cellular action of <span class="SimpleMath">\(G\)</span> on <span class="SimpleMath">\({\cal T}\)</span>.</p>
<p>Using perturbation techniques, the <span class="SimpleMath">\(2\)</span>-complex <span class="SimpleMath">\({\cal T}\)</span> can be combined with free resolutions for the cell stabilizer groups to contruct a regular CW-complex <span class="SimpleMath">\(X\)</span> on which the Picard group <span class="SimpleMath">\(G\)</span> acts freely. The following commands compute the first few terms of the free <span class="SimpleMath">\(\mathbb ZG\)</span>-resolution <span class="SimpleMath">\(R_\ast =C_\ast X\)</span>. Then <span class="SimpleMath">\(R_\ast\)</span> is used to compute</p>
<p>We can also compute the cohomology of <span class="SimpleMath">\(G=SL_2(\mathbb Z[i])\)</span> with coefficients in a module such as the module <span class="SimpleMath">\(P_{\mathbb Z[i]}(k)\)</span> of degree <span class="SimpleMath">\(k\)</span> homogeneous polynomials with coefficients in <span class="SimpleMath">\(\mathbb Z[i]\)</span> and with the action described above. For instance, the following commands compute</p>
<p>The <em>Bianchi groups</em> are the groups <span class="SimpleMath">\(G=PSL_2({\cal O}_{-d})\)</span> where <span class="SimpleMath">\(d\)</span> is a square free positive integer and <span class="SimpleMath">\({\cal O}_{-d}\)</span> is the ring of integers of the imaginary quadratic field <span class="SimpleMath">\(\mathbb Q(\sqrt{-d})\)</span>. More explicitly,</p>
<p>These groups act on upper-half space <span class="SimpleMath">\({\frak h}^3\)</span> in the same way as the Picard group. Upper-half space can be tessellated by a 'fundamental domain' for this action. Moreover, as with the Picard group, this tessellation contains a <span class="SimpleMath">\(2\)</span>-dimensional cellular subspace <span class="SimpleMath">\({\cal T}\subset {\frak h}^3\)</span> where <span class="SimpleMath">\({\cal T}\)</span> is a contractible CW-complex on which <span class="SimpleMath">\(G\)</span> acts cellularly. It should be mentioned that the fundamental domain and the contractible <span class="SimpleMath">\(2\)</span>-complex <span class="SimpleMath">\({\cal T}\)</span> are not uniquely determined by <span class="SimpleMath">\(G\)</span>. Various algorithms exist for computing <span class="SimpleMath">\({\cal T}\)</span> and its cell stabilizers. One algorithm due to Swan <a href="chapBib_mj.html#biBswan">[Swa71a]</a> has been implemented by Alexander Rahm <a href="chapBib_mj.html#biBrahmthesis">[Rah10]</a> and the output for various values of <span class="SimpleMath">\(d\)</span> are stored in HAP. Another approach is to use Voronoi's theory of perfect forms. This approach has been implemented by Sebastian Schoennenbeck [BCNS15] and, again, its output for various values of \(d\) are stored in HAP. The following commands combine data from Schoennenbeck's algorithm with free resolutions for cell stabiliers to compute</p>
<p>Note that the action of <span class="SimpleMath">\(SL_2({\cal O}_{-d})\)</span> on <span class="SimpleMath">\(P_{{\cal O}_{-d}}(k)\)</span> induces an action of <span class="SimpleMath">\(PSL_2({\cal O}_{-d})\)</span> provided <span class="SimpleMath">\(k\)</span> is even.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">R:=ResolutionPSL2QuadraticIntegers(-6,4);</span>
Resolution of length 4 in characteristic 0 for PSL(2,O-6) .
No contracting homotopy available.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.