Explicitly Computing Modular Forms

William A. Stein

(with an appendix by Paul E. Gunnells)

Department of Mathematics, University of Washington

E-mail address: wstein@math.washington.edu

Department of Mathematics and Statistics, University of Massachusetts

E-mail address: gunnells@math.umass.edu

1991 Mathematics Subject Classification. Primary 11; Secondary 11-04

Key words and phrases. abelian varieties, cohomology of arithmetic groups, computation, elliptic curves, Hecke operators, modular curves,

modular forms, modular symbols, Manin symbols, number theory

Stein was supported in part by NSF Grant DMS 05-55776. Gunnells was supported in part by NSF Grants DMS 02-45580 and DMS 04-01525.

Abstract. This is a textbook about algorithms for computing with modular forms. It is nontraditional in that the primary focus is not on underlying theory; instead, it answers the question “how do you explicitly compute spaces of modular forms?”

v

To my grandmother, Annette Maurer.

Contents

Preface xi Chapter 1. Modular Forms 1

§1.1. Basic Definitions 1 §1.2. Modular Forms of Level One 3 §1.3. Modular Forms of Any Level 4 §1.4. Remarks on Congruence Subgroups 7 §1.5. Applications of Modular Forms 9 §1.6. Exercises 11

Chapter 2. Modular Forms of Level One 13 §2.1. Examples of Modular Forms of Level One 13 §2.2. Structure Theorem For Level One Modular Forms 17 §2.3. The Victor Miller Basis 20 §2.4. Hecke Operators 22 §2.5. Computing Hecke Operators 25 §2.6. Fast Computation of Fourier Coefficients 28 §2.7. Fast Computation of Bernoulli Numbers 29 §2.8. Exercises 33

Chapter 3. Modular Forms of Weight Two 35 §3.1. Hecke Operators 36 §3.2. Modular Symbols 39 §3.3. Computing with Modular Symbols 41 §3.4. Hecke Operators 47 §3.5. Computing the Boundary Map 51 §3.6. Computing a Basis for S_{2}(Γ_{0}(N)) 53 §3.7. Computing S_{2}(Γ_{0}(N)) using eigenvectors 58 §3.8. Exercises 60

Chapter 4. Dirichlet Characters 63 §4.1. The Definition 64 §4.2. Representing Dirichlet Characters 64 §4.3. Evaluation of Dirichlet Characters 67 §4.4. Conductors of Dirichlet Characters 70 §4.5. The Kronecker Symbol 72 §4.6. Restriction, Extension, and Galois Orbits 75 §4.7. Alternative Representations of Characters 77 §4.8. Dirichlet Characters in SAGE 78 §4.9. Exercises 80

Chapter 5. Eisenstein Series and Bernoulli Numbers 83 §5.1. The Eisenstein Subspace 83 §5.2. Generalized Bernoulli Numbers 83 §5.3. Explicit Basis for the Eisenstein Subspace 88 §5.4. Exercises 91

Chapter 6. Dimension Formulas 93 §6.1. Modular Forms for Γ_{0}(N) 94 §6.2. Modular Forms for Γ_{1}(N) 97 §6.3. Modular Forms with Character 99 §6.4. Exercises 104

Chapter 7. Linear Algebra 105 §7.1. Echelon Forms of Matrices 105 §7.2. Rational Reconstruction 108 §7.3. Echelon Forms over ℚ 109 §7.4. Echelon Forms via Matrix Multiplication 112 §7.5. Decomposing Spaces Under the Action of Matrix 116 §7.6. Exercises 121

Chapter 8. General Modular Symbols 123 §8.1. Modular Symbols 124 §8.2. Manin Symbols 126 §8.3. Hecke Operators 130 §8.4. Cuspidal Modular Symbols 135 §8.5. Pairing Modular Symbols and Modular Forms 139 §8.6. Degeneracy Maps 144 §8.7. Explicitly Computing 𝕄_{k}(Γ_{0}(N)) 146 §8.8. Explicit Examples 149 §8.9. Refined Algorithm for the Presentation 157 §8.10. Applications 157 §8.11. Exercises 159

Chapter 9. Computing With Newforms 161 §9.1. Dirichlet Character Decomposition 161 §9.2. Atkin-Lehner-Li Theory 163 §9.3. Computing Cusp Forms 167 §9.4. Congruences Between Newforms 172 §9.5. Exercises 178

Chapter 10. Computing Periods 179 §10.1. The Period Map 179 §10.2. Abelian Varieties Attached to a Newforms 180 §10.3. Extended Modular Symbols 181 §10.4. Approximating Period Integrals 182 §10.5. Speeding Convergence Using Atkin-Lehner 185 §10.6. Computing the Period Mapping 187 §10.7. All Elliptic Curves of Given Conductor 189 §10.8. Exercises 192

Chapter 11. Solutions to Selected Exercises 193 §11.1. Chapter 1 193 §11.2. Chapter 2 195 §11.3. Chapter 3 196 §11.4. Chapter 4 197 §11.5. Chapter 5 199 §11.6. Chapter 6 199 §11.7. Chapter 7 200 §11.8. Chapter 8 200 §11.9. Chapter 9 203 §11.10. Chapter 10 203

Appendix A. Computing in Higher Rank 205 §A.1. Introduction 205 §A.2. Automorphic Forms and Arithmetic Groups 207 §A.3. Combinatorial Models for Group Cohomology 215 §A.4. Hecke Operators and Modular Symbols 227 §A.5. Other Cohomology Groups 234 §A.6. Complements and Open Problems 246

Bibliography 255

Index 267

Preface

This is a graduate-level textbook about algorithms for computing with modular forms. It is nontraditional in that the primary focus is not on underlying theory; instead, it answers the question “how do you use a computer to explicitly compute spaces of modular forms?”

This book emerged from notes for a course the author taught at Harvard University in 2004, a course at UC San Diego in 2005, and a course at University of Washington in 2006.

The author has spent years trying to find good practical ways to compute with classical modular forms for congruence subgroups of SL_{2}(ℤ), and has implemented most of these algorithms several times, first in C++ [Ste99b], then in MAGMA [BCP97], and as part of the free open source computer algebra system SAGE (see [Ste06]). Much of this work has involved turning formulas and constructions buried in obscure research papers into precise computational recipes, then testing these and eliminating inaccuracies.

The author is aware of no other textbooks on computing with modular forms, the closest work being Cremona’s book [Cre97a], which is about computing with elliptic curves, and Cohen’s book [Coh93] about algebraic number theory.

In this book we focus on how to compute in practice the spaces M_{k}(N, ε) of modular forms, where k ≥ 2 is an integer and ε is a Dirichlet character of modulus N (the appendix treats modular forms for higher rank groups). We spend the most effort explaining the general algorithms that appear so far to be the best (in practice!) for such computations. We will not discuss in any detail computing with quaternion algebras, half-integral weight forms, weight one forms, forms for non-congruence subgroups or groups other than GL_{2}, Hilbert and Siegel modular forms, trace formulas, p-adic modular forms, and modular abelian varieties, all of which are topics for additional books. We also do not systematically analyze the complexity of the algorithms, and instead settle for occasional remarks about their practical efficiency.

For most of this book we assume the reader has some prior exposure to modular forms (e.g., [DS05]), though we recall many of the basic definitions. We cite standard books for proofs of the fundamental results about modular forms that we will use. The reader should also be familiar with basic algebraic number theory, linear algebra, complex analysis (at the level of [Ahl78]), and algorithms (e.g., know what an algorithm is and what big oh notation means). In some of the examples and applications we assume that the reader knows about elliptic curves at the level of [Sil92].

Chapter 1 is foundational for the rest of this book. It introduces congruence subgroups of SL_{2}(ℤ), and modular forms as functions on the complex upper half plane. We discuss q-expansions, which provide an important computational handle on modular forms. We also study an algorithm for computing with congruence subgroups. The chapter ends with a list of applications of modular forms all over mathematics.

In Chapter 2 we discuss level 1 modular forms in much more detail. In particular, we introduce Eisenstein series and the cusp form Δ, and describe their q-expansions and basic properties. Then we prove a structure theorem for level 1 modular forms and use it to deduce dimension formulas and give an algorithm for explicitly computing a basis. We next introduce Hecke operators on level 1 modular forms, prove several results about them, and deduce multiplicativity of the Ramanujan τ function as an application. We also discuss explicit computation of Hecke operators. In Section 2.6 we make some brief remarks on recent work on asymptotically fast computation of values of τ. Finally, we describe computation of constant terms of Eisenstein series using an analytic algorithm. We generalize many of the constructions in this chapter to higher level in subsequent chapters.

In Chapter 3 we turn to modular forms of higher level, but restrict for simplicity to weight 2 since much is clearer in this case. (We remove the weight restriction later in Chapter 8.) We describe a geometric way of viewing cuspidal modular forms as differentials on modular curves, which leads naturally to modular symbols, which are an explicit way to describe a certain homology group. This chapter closes with methods for explicitly computing cusp forms of weight 2 using modular symbols, which we generalize in Chapter 9.

In Chapter 4 we introduce Dirichlet characters, which are important both in explicit construction of Eisenstein series (in Chapter 5) and in decomposing spaces of modular forms as direct sums of simpler spaces. The main focus of this chapter is a detailed study of how to explicitly represent and compute with Dirichlet characters.

Chapter 5 is about how to explicitly construct the Eisenstein subspace of modular forms. First we define generalized Bernoulli numbers attached to a Dirichlet character and an integer, then explain a new analytic algorithm for computing them (which generalizes the algorithm in Chapter 2). Finally we give without proof an explicit description of a basis of Eisenstein series, explain how to compute it, and give some examples.

Chapter 6 records a wide range of dimension formulas for spaces of modular forms, along with a few remarks about where they come from, and how to compute them.

Chapter 7 is about linear algebra over exact fields, mainly the rational numbers. This chapter can be read independently of the others, and does not require any background in modular forms. Nonetheless, this chapter occupies a central position in this book, because the algorithms in this chapter are of crucial importance to any actual implementation of algorithms for computing with modular forms.

Chapter 8 is the most important chapter in this book; it generalizes Chapter 3 to higher weight and general level. The modular symbols formulation described here is central to general algorithms for computing with modular forms.

Chapter 9 applies the algorithms from Chapter 8 to the problem of computing with modular forms. First we discuss decomposing spaces of modular forms using Dirichlet characters, then explain how to compute a basis of Hecke eigenforms for each subspace using several approaches. We also discuss congruences between modular forms and bounds needed to provably generate the Hecke algebra.

Chapter 10 is about computing analytic invariants of modular forms. It discusses tricks for speeding convergence of certain infinite series, and sketches how to compute every elliptic curve over ℚ with given conductor.

Chapter 11 contains detailed solutions to most of the exercises in this book. (Many of these were written by students in a course taught at University of Washington.)

Chapter A is an appendix on computational techniques for working with generalizations of modular forms to more general groups than SL_{2}(ℤ), such as SL_{n}(ℤ) for n ≥ 3. Some of this material requires more prerequisites than the rest of this book. Nonetheless, seeing a natural generalization of the material in the rest of this book helps to clarify the key ideas. The topics in the appendix are directly related to the main themes of this book: modular symbols, Manin symbols, cohomology of subgroups of SL_{2}(ℤ) with various coefficients, explicit computation of modular forms, etc.

Software. We use SAGE (see [Ste06]) to illustrate how to do many of the examples. SAGE is completely free, and packages together a wide range of open source mathematics software for doing much more than just computing with modular forms. SAGE can be downloaded and run on your computer, or used via a web browser over the Internet. The reader is encouraged to experiment with many of the objects in this book using SAGE. We do not describe the basics of using SAGE in this book; the reader should read the SAGE tutorial (and other documentation) available at the SAGE website [Ste06]. All examples in this book have been automatically tested and should work exactly as indicated in SAGE version 1.3.7.

Acknowledgement. David Joyner and Gabor Wiese carefully read the book and provided a huge number of helpful comments.

John Cremona and Kevin Buzzard both made many helpful remarks that were important in the development of the algorithms in this book. Much of the mathematics (and some of the writing) in Chapter 10 is joint work with Helena Verrill.

Noam Elkies made remarks about Chapters 1 and 2. Sándor Kovács provided interesting comments on Chapter 1. Allan Steel provided helpful feedback on Chapter 7.

The students in the courses that I taught on this material at Harvard, San Diego, and Washington provided substantial feedback: in particular, Abhinav Kumar made numerous observations about computing widths of cusps (see Section 1.4.1) and Thomas James Barnet-Lamb about how to represent Dirichlet characters. James Merryfield made helpful remarks about complex analytic issues, and about convergence in Stirling’s formula. Robert Bradshaw, Andrew Crites (who wrote Exercise 7.5), Michael Goff, Dustin Moody, and Koopa Koo wrote most of the solutions included in Chapter 11, and found numerous typos throughout the book. Dustin Moody also carefully read through the book and provided feedback.

H. Stark suggested using Stirling’s formula in Section 2.7.1, and Mark Watkins and Lynn Walling made comments on Chapter 3.

Parts of Chapter 1 follow Serre’s beautiful introduction to modular forms [Ser73b, Ch. VII] closely, though we adjust the notation, definitions, and order of presentation to be consistent with the rest of this book.

Notation and Conventions. We denote canonical isomorphisms by ≅ and non-canonical isomorphisms by ≈. If V is a vector space and s denotes some sort of construction involving V, we let V_{s} denote the corresponding subspace and V^{s} the quotient space. E.g., if ι is an involution of V, then V_{+} is Ker(ι − 1) and V^{+} = V/Im(ι − 1). If A is a finite abelian group, then A_{tor} denotes the torsion subgroup and A/tor denotes the quotient A/A_{tor}. We denote right group actions using exponential notation. Everywhere in this book, N is a positive integer and k is an integer.

If N is an integer, a divisor t of N is a positive integer such that N/t is an integer.

Chapter 1

Modular Forms

This chapter introduces modular forms and congruence subgroups, which are central objects in this book. We first introduce the upper half plane and the group SL_{2}(ℤ), then recall some definitions from complex analysis. Next we define modular forms of level 1 followed by modular forms of general level. In Section 1.4 we discuss some of what is known about congruence subgroups and explain a simple way to compute generators for them and determine element membership. Section 1.5 lists applications of modular forms.

We assume familiarity with basic number theory, group theory, and complex analysis. For a deeper understanding of modular forms, the reader is urged to consult the standard books in the field, e.g., [Lan95, Ser73b, DI95, Miy89, Shi94, Kob84]. See also [DS05], which is an excellent first introduction to the theoretical foundations of modular forms.

1.1. Basic Definitions

The group

SL_{2}(ℝ) = \{(\begin{matrix}a & b \\ c & d \end{matrix}) : ad − bc = 1, and a, b, c, d ∈ ℝ\}

acts on the complex upper half plane

𝔥 = {z ∈ ℂ : Im(z) > 0}

by linear fractional transformations, as follows. If γ = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ SL_{2}(ℝ), then for any z ∈ 𝔥 we let

(1.1.1)  γ(z) = \frac{az + b}{cz + d} ∈ 𝔥.

Since the determinant of γ is 1, we have

(\frac{d}{dz} γ) (z) = \frac{1}{(cz + d)^{2}} .

Definition 1.1 (Modular Group). The modular group is the group of all

matrices ( \begin{matrix}a & b \\ c & d \end{matrix} ) with a, b, c, d ∈ ℤ and ad − bc = 1.

For example, the matrices

(1.1.2)  S = (\begin{matrix}0 & −1 \\ 1 & 0 \end{matrix})  and  T = (\begin{matrix}1 & 1 \\ 0 & 1 \end{matrix})

are both elements of SL_{2}(ℤ); the matrix S induces the function z ↦ −1/z on 𝔥, and T the function z ↦ z + 1.

Theorem 1.2. The group SL_{2}(ℤ) is generated by S and T.

Proof. See e.g. [Ser73b, §VII.1]. □

In SAGE we compute the group SL_{2}(ℤ) and its generators as follows:

     sage: G = SL(2,ZZ); G
     Modular Group SL(2,Z)
     sage: S, T = G.gens()
     sage: S
     [ 0 -1]
     [ 1  0]
     sage: T
     [1 1]
     [0 1]

Definition 1.3 (Holomorphic and Meromorphic). Let R be an open subset of ℂ. A function f : R → ℂ is holomorphic if f is complex differentiable at every point z ∈ R, i.e., for each z ∈ R the limit

f′(z) = lim_{h→0} \frac{f(z + h) − f(z)}{h}

exists, where h may approach 0 along any path. A function f : R → ℂ∪{∞} is meromorphic if it is holomorphic except (possibly) at a discrete set S of points in R, and at each α ∈ S there is a positive integer n such that (z − α)^{n}f(z) is holomorphic at α.

The function f(z) = e^{z} is a holomorphic function on ℂ; in contrast, 1/(z − i) is meromorphic on ℂ, but not holomorphic since it has a pole at i. The function e^{−1/z} is not even meromorphic on ℂ.

Modular forms are holomorphic functions on 𝔥 that transform in a particular way under a certain subgroup of SL_{2}(ℤ). Before defining general modular forms, we define modular forms of level 1.

1.2. Modular Forms of Level One

Definition 1.4 (Weakly Modular Function). A weakly modular function of weight k ∈ ℤ is a meromorphic function f on 𝔥 such that for all γ = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ SL_{2}(ℤ) and all z ∈ 𝔥 we have

(1.2.1)  f(z) = (cz + d)^{−k}f(γ(z)).

The constant functions are weakly modular of weight 0. There are no nonzero weakly modular functions of odd weight (see Exercise 1.4), and it is not obvious that there are any weakly modular functions of even weight k ≥ 2 (but there are, as we will see!). The product of two weakly modular functions of weights k_{1} and k_{2} is a weakly modular function of weight k_{1} +k_{2} (see Exercise 1.3).

When k is even (1.2.1) has a possibly more conceptual interpretation; namely (1.2.1) is the same as

f(γ(z))(d(γ(z)))^{k/2} = f(z)(dz)^{k/2}.

Thus (1.2.1) simply says that the weight k “differential form” f(z)(dz)^{k/2} is fixed under the action of every element of SL_{2}(ℤ).

By Theorem 1.2, the group SL_{2}(ℤ) is generated by the matrices S and T of (1.1.2), so to show that a meromorphic function f on 𝔥 is a weakly modular function, all we have to do is show that for all z ∈ 𝔥 we have

(1.2.2)  f(z + 1) = f(z)  and  f(−1/z) = z^{k}f(z).

Suppose f is a weakly modular function of weight k. A Fourier expansion of f, if it exists, is a representation of f as f(z) = ∑_{n=m}^{∞} a_{n}e^{2πinz}, for all z ∈ 𝔥. Let q = q(z) = e^{2πiz}, which we view as a holomorphic function on ℂ. Let D′ be the open unit disk with the origin removed, and note that q defines a map 𝔥 → D′. By (1.2.2) we have f(z + 1) = f(z), so there is a function F : D′ → ℂ such that F (q(z)) = f(z). This function F is a complex-valued function on D′, but it may or may not be well behaved at 0.

Suppose that F is well behaved at 0, in the sense that for some m ∈ ℤ and all q in a neighborhood of 0 we have the equality

(1.2.3)  F (q) = ∑_{n=m}^{∞} a_{n}q^{n}.

If this is the case, we say that f is meromorphic at ∞. If, moreover, m ≥ 0, we say that f is holomorphic at ∞. We also call (1.2.3) the q-expansion of f about ∞.

Definition 1.5 (Modular Function). A modular function of weight k is a weakly modular function of weight k that is meromorphic at ∞.

Definition 1.6 (Modular Form). A modular form of weight k (and level 1) is a modular function of weight k that is holomorphic on 𝔥 and at ∞.

If f is a modular form, then there are numbers a_{n} such that for all z ∈ 𝔥,

(1.2.4)  f(z) = ∑_{n=0}^{∞} a_{n}q^{n}.

Proposition 1.7. The above series converges for all z ∈ 𝔥.

Proof. The function f(q) is holomorphic on D, so its Taylor series converges absolutely in D. □

Since e^{2πiz} → 0 as z → i∞, we set f(∞) = a_{0}.

Definition 1.8 (Cusp Form). A cusp form of weight k (and level 1) is a modular form of weight k such that f(∞) = 0, i.e., a_{0} = 0.

Let ℂ[[q]] be the ring of all formal power series in q. If k = 2, then dq = 2πiqdz, so dz = \frac{1}{2πi} \frac{dq}{q}. If f(q) is a cusp form of weight 2, then

2πif(z)dz = f(q)\frac{dq}{q} = \frac{f(q)}{q}dq ∈ ℂ[[q]]dq.

Thus the differential 2πif(z)dz is holomorphic at ∞, since q is a local parameter at ∞.

1.3. Modular Forms of Any Level

In this section we define spaces of modular forms of arbitrary level.

Definition 1.9 (Congruence Subgroup). A congruence subgroup of SL_{2}(ℤ) is any subgroup of SL_{2}(ℤ) that contains

Γ(N) = Ker(SL_{2}(ℤ) → SL_{2}(ℤ/Nℤ))

for some positive integer N. The smallest such N is the level of Γ.

The most important congruence subgroups in this book are

Γ_{1}(N) = \{(\begin{matrix}a & b \\ c & d \end{matrix}) ∈ SL_{2}(ℤ) : (\begin{matrix}a & b \\ c & d \end{matrix}) ≡ (\begin{matrix}1 & ∗ \\ 0 & 1 \end{matrix}) (mod N)\}

and

Γ_{0}(N) = \{(\begin{matrix}a & b \\ c & d \end{matrix}) ∈ SL_{2}(ℤ) : (\begin{matrix}a & b \\ c & d \end{matrix}) ≡ (\begin{matrix}∗ & ∗ \\ 0 & ∗ \end{matrix}) (mod N)\} ,

where ∗ means any element. Both groups have level N (see Exercise 1.6).

Let k be an integer. Define the weight k right action of GL_{2}(ℚ) on the set of all functions f : 𝔥 → ℂ as follows. If γ = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ GL_{2}(ℚ), let

(1.3.1)  (f^{[γ]_{k}})(z) = det(γ)^{k−1}(cz + d)^{−k}f(γ(z)).

Proposition 1.10. Formula (1.3.1) defines a right action of GL_{2}(ℤ) on the set of all functions f : 𝔥 → ℂ; in particular,

f^{[γ_{1}γ_{2}]_{k}} = (f^{[γ_{1}]_{k}})^{[γ_{2}]_{k}}.

Proof. See Exercise 1.7. □

Definition 1.11 (Weakly Modular Function). A weakly modular function of weight k for a congruence subgroup Γ is a meromorphic function f : 𝔥 → ℂ such that f^{[γ]_{k}} = f for all γ ∈ Γ.

A central object in the theory of modular forms is the set of cusps

ℙ^{1}(ℚ) = ℚ ∪ {∞}.

An element γ = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ SL_{2}(ℤ) acts on ℙ^{1}(ℚ) by

γ(z) = \begin{cases}\frac{az+b}{cz+d} & if z ≠ ∞ \\ \frac{a}{c} & if z = ∞. \end{cases}

Also, note that if the denominator c or cz + d is 0 above, then γ(z) = ∞ ∈ ℙ^{1}(ℚ).

The set of cusps for a congruence subgroup Γ is the set C(Γ) of Γ-orbits of ℙ^{1}(ℚ). (We will often identify elements of C(Γ) with a representative element from the orbit.) For example, the lemma below asserts that if Γ = SL_{2}(ℤ) then there is exactly one orbit, so C(SL_{2}(ℤ)) = {[∞]}.

Lemma 1.12. For any cusps α, β ∈ ℙ^{1}(ℚ) there exists γ ∈ SL_{2}(ℤ) such that γ(α) = β.

Proof. This is Exercise 1.8. □

Proposition 1.13. For any congruence subgroup Γ, the set C(Γ) of cusps is finite.

Proof. This is Exercise 1.9. □

See [DS05, §3.8] and Algorithm 8.12 below for more discussion of cusps and results relevant to their enumeration.

In order to define modular forms for general congruence subgroups we next explain what it means for a function to be holomorphic on the extended upper half plane

𝔥^{∗} = 𝔥 ∪ ℙ^{1}(ℚ).

See [Shi94, §1.3–1.5] for a detailed description of the correct topology to consider on 𝔥^{∗}. In particular, a basis of neighborhoods for α ∈ ℚ is given by the sets {α} ∪ D, where D is an open disc in 𝔥 that is tangent to the real line at α.

Recall from Section 1.2 that a weakly modular function f on SL_{2}(ℤ) is holomorphic at ∞ if its q-expansion is of the form ∑_{n=0}^{∞} a_{n}q^{n}.

In order to make sense of holomorphicity of a weakly modular function f for an arbitrary congruence subgroup Γ at any α ∈ ℚ, we first prove a lemma.

Lemma 1.14. If f : 𝔥 → ℂ is a weakly modular function of weight k for a congruence subgroup Γ, and δ ∈ SL_{2}(ℤ), then f^{[δ]_{k}} is a weakly modular function for δ^{−1}Γδ.

Proof. If s = δ^{−1}γδ ∈ δ^{−1}Γδ, then

(f^{[δ]_{k}})^{[s]_{k}} = f^{[δs]_{k}} = f^{[δδ^{−1}γδ]_{k}} = f^{[γδ]_{k}} = f^{[δ]_{k}}.
□

Fix a weakly modular function f of weight k for a congruence subgroup Γ, and suppose α ∈ ℚ. In Section 1.2 we constructed the q-expansion of

f by using that f(z) = f(z + 1), which held since T = (\begin{matrix}1 & 1 \\ 0 & 1 \end{matrix}) ∈ SL_{2}(ℤ).

There are congruence subgroups Γ such that T ∉ Γ. Moreover, even if we are interested only in modular forms for Γ_{1}(N), where we have T ∈ Γ_{1}(N) for all N, we will still have to consider q-expansions at infinity for modular forms on groups δ^{−1}Γ_{1}(N)δ, and these need not contain T. Fortunately, T^{N} = ( \begin{matrix}1 & N \\ 0 & 1 \end{matrix} ) ∈ Γ(N), so a congruence subgroup of level N contains T^{N}. Thus we have f(z + H) = f(H) for some positive integer H, e.g., H = N always works, but there may be a smaller choice of H. The minimal choice of H > 0 such that ( \begin{matrix}1 & H \\ 0 & 1 \end{matrix} ) ∈ δ^{−1}Γδ, where δ(∞) = α, is called the width of the cusp α relative to the group Γ (see Section 1.4.1). When f is meromorphic at infinity we obtain a Fourier expansion

(1.3.2)  f(z) = ∑_{n=m}^{∞} a_{n}q^{n/H}

in powers of the function q^{1/H} = e^{2πiz/H}. We say that f is holomorphic at ∞ if in (1.3.2) we have m ≥ 0.

What about the other cusps α ∈ ℙ^{1}(ℚ)? By Lemma 1.12 there is a γ ∈ SL_{2}(ℤ) such that γ(∞) = α. We declare f to be holomorphic at the cusp α if the weakly modular function f^{[γ]_{k}} is holomorphic at ∞.

Definition 1.15 (Modular Form). A modular form of integer weight k for a congruence subgroup Γ is a weakly modular function f : 𝔥 → ℂ that is holomorphic on 𝔥^{∗}. We let M_{k}(Γ) denote the space of weight k modular forms of weight k for Γ.

Proposition 1.16. If a weakly modular function f is holomorphic at a set of representative elements for C(Γ), then it is holomorphic at every element of ℙ^{1}(ℚ).

Proof. Let c_{1}, …, c_{n} ∈ ℙ^{1}(ℚ) be representatives for the set of cusps for Γ. If α ∈ ℙ^{1}(ℚ) then there is γ ∈ Γ such that α = γ(c_{i}) for some i. By hypothesis f is holomorphic at c_{i}, so if δ ∈ SL_{2}(ℤ) is such that δ(∞) = c_{i}, then f^{[δ]_{k}} is holomorphic at ∞. Since f is a weakly modular function for Γ,

(1.3.3)  f^{[δ]_{k}} = (f^{[γ]_{k}})^{[δ]_{k}} = f^{[γδ]_{k}}.

But γ(δ(∞)) = γ(c_{i}) = α, so (1.3.3) implies that f is holomorphic at α. □

1.4. Remarks on Congruence Subgroups

Recall that a congruence subgroup is a subgroup of SL_{2}(ℤ) that contains Γ(N) for some N. Any congruence subgroup has finite index in SL_{2}(ℤ), since Γ(N) does. What about the converse: is every finite index subgroup of SL_{2}(ℤ) a congruence subgroup? This is the congruence subgroup problem. One can ask about the congruence subgroup problem with SL_{2}(ℤ) replaced by many similar groups. If p is a prime, then one can prove that every finite index subgroup of SL_{2}(ℤ[1/p]) is a congruence subgroup (i.e., contains the kernel of reduction modulo some integer coprime to p), and for any n > 2, all finite index subgroups of SL_{n}(ℤ) are congruence subgroups (see [Hum80]). However, there are numerous finite index subgroups of SL_{2}(ℤ) that are not congruence subgroups. The paper [Hsu96] contains an algorithm to decide if certain finite index subgroups are congruence subgroups, and gives an example of a subgroup of index 12 that it is not a congruence subgroup.

One can consider modular forms even for non-congruence subgroups. See, e.g., [Tho89] and the papers it references for work on this topic. We will not consider such modular forms further in this book. Note that modular symbols (which we define later in this book) are computable for noncongruence subgroups.

Finding coset representatives for Γ_{0}(N), Γ_{1}(N) and Γ(N) in SL_{2}(ℤ) is straightforward, and will be discussed at length later in this book. To make the problem more explicit, note that you can quotient out by Γ(N) first. Then the question amounts to finding coset representatives for a subgroup of SL_{2}(ℤ/Nℤ) (and lifting), which is reasonably straightforward.

Given coset representatives for a finite index subgroup G of SL_{2}(ℤ), we can compute generators for G as follows. Let R be a set of coset representatives for G. Let σ, τ ∈ SL_{2}(ℤ) be the matrices denoted by S and T in (1.1.2). Define maps s, t : R → G as follows. If r ∈ R, then there exists a unique α_{r} ∈ R such that Grσ = Gα_{r}. Let s(r) = rσα_{r}^{−1}. Likewise, there is a unique β_{r} such that Grτ = Gβ_{r} and we let t(r) = rτβ_{r}^{−1}. Note that s(r) and t(r) are in G for all r. Then G is generated by s(R) ∪ t(R).

Proposition 1.17. The above procedure computes generators for G.

Proof. Without loss of generality, assume that I = ( \begin{matrix}1 & 0 \\ 0 & 1 \end{matrix} ) represents the coset of G. Let g be an element of G. Since σ and τ generate SL_{2}(ℤ), it is possible to write g as a product of powers of σ and τ. There is a procedure, which we explain below with an example in order to avoid cumbersome notation, which writes g as a product of elements of s(R) ∪ t(R) times a right coset representative r ∈ R. For example, if

g = στ^{2}στ,

then g = Iστ^{2}στ = s(I)yτ^{2}στ for some y ∈ R. Continuing,

s(I)yτ^{2}στ = s(I)(yτ)τστ = s(I)(t(y)z)τστ

for some z ∈ R. Again,

s(I)(t(y)z)τστ = s(I)t(y)(zτ)στ = · · · .

The procedure illustrated above (with an example) makes sense for arbitrary g, and after carrying it out writes g as a product of elements of s(R) ∪ t(R) times a right coset representative r ∈ R. But g ∈ G and I is the right coset representative for G, so this right coset representative must be I. □

Remark 1.18. We could also apply the proof of Proposition 1.17 to write any element of G in terms of the given generators. Moreover, we could use it to write any element γ ∈ SL_{2}(ℤ) in the form gr, where g ∈ G and r ∈ R, so we can decide whether or not γ ∈ G.

1.4.1. Computing Widths of Cusps. Let Γ be a congruence subgroup of level N. Suppose α ∈ C(Γ) is a cusp, and choose γ ∈ SL_{2}(ℤ) such that γ(∞) = α. Recall that the minimal h such that ( \begin{matrix}1 & h \\ 0 & 1 \end{matrix} ) ∈ γ^{−1}Γγ is called the width of the cusp α for the group Γ. In this section we discuss how to compute h.

Algorithm 1.19 (Width of Cusp). Given a congruence subgroup Γ of level N and a cusp α for Γ, this algorithm computes the width h of α. We assume that Γ is given by congruence conditions, e.g., Γ = Γ_{0}(N) or Γ_{1}(N).

(1) [Find γ] Use the extended Euclidean algorithm to find γ ∈ SL_{2}(ℤ) such that γ(∞) = α, as follows. If α = ∞ set γ = 1; otherwise, write α = a/b, find c, d such that ad − bc = 1, and set γ = ( \begin{matrix}a & b \\ c & d \end{matrix} ).

(2) [Compute Conjugate Matrix] Compute the following element of Mat_{2}(ℤ[x]):

δ(x) = γ (\begin{matrix}1 & x \\ 0 & 1 \end{matrix}) γ^{−1}.

Note that the entries of δ(x) are constant or linear in x.

(3) [Solve] The congruence conditions that define Γ give rise to four linear congruence conditions on x. Use techniques from elementary number theory (or enumeration) to find the smallest simultaneous positive solution h to these four equations.

Example 1.20. (1) Suppose α = 0 and Γ = Γ_{0}(N) or Γ_{1}(N). Then γ = ( \begin{matrix}0 & −1 \\ 1 & 0 \end{matrix} ) has the property that γ(∞) = α. Next, the congruence condition is

δ(x) = γ (\begin{matrix}1 & x \\ 0 & 1 \end{matrix}) γ^{−1} = (\begin{matrix}1 & 0 \\ x & 1 \end{matrix}) ≡ (\begin{matrix}1 & ∗ \\ 0 & 1 \end{matrix}) (mod N).

Thus the smallest positive solution is h = N, so the width of 0 is N.

(2) Suppose N = pq where p, q are distinct primes, and let α = 1/p. Then γ = ( \begin{matrix}1 & 0 \\ p & 1 \end{matrix} ) sends ∞ to α. The congruence condition for Γ_{0}(pq) is

δ(x) = γ (\begin{matrix}1 & x \\ 0 & 1 \end{matrix}) γ^{−1} = (\begin{matrix}1 − px & x \\ −p^{2}x & px + 1 \end{matrix}) ≡ (\begin{matrix}∗ & ∗ \\ 0 & ∗ \end{matrix}) (mod pq).

Since p^{2}x ≡ 0 (mod pq), we see that x = q is the smallest solution. Thus 1/p has width q, and symmetrically 1/q has width p.

Remark 1.21. For Γ_{0}(N), once we enforce that the bottom left entry is 0 (mod N), and use that the determinant is 1, the coprimality from the other two congruences is automatic. So there is one congruence to solve in the Γ_{0}(N) case. There are 2 congruences in the Γ_{1}(N) case.

1.5. Applications of Modular Forms

The above definition of modular forms might leave the impression that modular forms occupy an obscure corner of complex analysis. This is not the case! Modular forms are highly geometric, arithmetic, and topological objects that are of extreme interest all over mathematics:

(1) Fermat’s last theorem: Wiles’s proof [Wil95] of Fermat’s last theorem uses modular forms extensively. The work of Wiles et al. on modularity also massively extends computational methods for elliptic curves over ℚ, because many elliptic curve algorithms, e.g., for computing L-functions, modular degrees, Heegner points, etc., require that the elliptic curve is modular.

(2) Diophantine equations: Wiles’s proof of Fermat’s last theorem has made available a wide array of new techniques for solving certain diophantine equations. Such work relies crucially on having access to tables or software for computing modular forms. See, e.g., [Dar97, Mer99, Che05, SC03]. (Wiles did not need a computer, because the relevant spaces of modular forms that arise in his proof have dimension 0!) Also, according to Siksek (personal communication) the paper [BMS06] would “have been entirely impossible to write without [the algorithms described in this book].”

(3) Congruent number problem: This thousand year old open problem is to determine which integers are the area of a right triangle with rational side lengths. There is a potential solution that uses modular forms (of weight 3/2) extensively (the solution is conditional on truth of the Birch and Swinnerton-Dyer conjecture, which is not yet known). See [Kob84].

(4) Topology: Topological modular forms are a major area of research (see work of Mike Hopkins).

(5) Construction of Ramanujan graphs: Modular forms can be used to construct almost optimal expander graphs, which play a role in communications network theory.

(6) Cryptography and Coding Theory: Point counting on elliptic curves over finite fields is crucial to the construction of elliptic curve cryptosystems, and modular forms are relevant to efficient algorithms for point counting (see [Elk98]). Algebraic curves that are associated to modular forms are useful in constructing and studying certain error-correcting codes (see [Ebe02]).

(7) The Birch and Swinnerton-Dyer conjecture: This central open problem in arithmetic geometry relates arithmetic properties of elliptic curves (and abelian varieties) to special values of L-functions. Most deep results toward this conjecture use modular forms extensively (e.g., work of Kolyvagin, Gross-Zagier, and Kato). Also, modular forms are used to compute and prove results about special values of these L-functions. See [Wil00].

(8) Serre’s Conjecture on modularity of Galois representation: Let G_{ℚ} = Gal(\overline{ℚ}/ℚ) be the Galois group of an algebraic closure of ℚ. Serre conjectured and many people have (nearly!) proved that every continuous homomorphism ρ : G_{ℚ} → GL_{2}(𝔽_{q}), where 𝔽_{q} is a finite field and det(ρ(complex conjugation)) = −1, “arises” from a modular form. More precisely, for almost all primes p the coefficients a_{p} of a modular (eigen-)form ∑ a_{n}q^{n} are congruent to the traces of elements ρ(Frob_{p}), where Frob_{p} are certain special elements of G_{ℚ} called Frobenius elements. See [RS01] and [DS05, Ch. 9].

(9) Generating functions for partitions: The generating functions for various kinds of partitions of an integer can often be related to modular forms. Deep theorems about modular forms then translate into results about partitions. See work of Ramanujan, Gordon, Andres, and Ahlgren and Ono (e.g., [AO01]).

(10) Lattices: If L ⊂ ℝ^{n} is an even unimodular lattice (the basis matrix has determinant ±1 and λ · λ ∈ 2ℤ for all λ ∈ L), then the theta series

θ_{L}(q) = ∑_{λ∈L} q^{λ·λ}

is a modular form of weight n/2. The coefficient of q^{m} is the number of lattice vectors with squared length m. Theorems and computational methods for modular forms translate into theorems and computational methods for lattices. For example, the 290 theorem of M. Bharghava and J. Hanke is a theorem about lattices, which asserts that an integer-valued quadratic form represents all positive integers if and only if it represents the integers up to 290; it is proved by doing many calculations with modular forms (both theoretical and with a computer).

1.6. Exercises

1.1 Suppose γ = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ GL_{2}(ℝ) has positive determinant. Prove that if z ∈ ℂ is a complex number with positive imaginary part, then the imaginary part of γ(z) = (az + b)/(cz + d) is also positive.

1.2 Prove that every rational function (quotient of two polynomials) is

a meromorphic function on ℂ. 1.3 Suppose f and g are weakly modular functions for a congruence

subgroup Γ with f ≠ 0.

(a) Prove that the product fg is a weakly modular function for Γ.

(b) Prove that 1/f is a weakly modular function for Γ.

(c) If f and g are modular functions, show that fg is a modular function for Γ.

(d) If f and g are modular forms, show that fg is a modular form for Γ.

1.4 Suppose f is a weakly modular function of odd weight k and level

Γ_{0}(N) for some N. Show that f = 0. 1.5 Prove that SL_{2}(ℤ) = Γ_{0}(1) = Γ_{1}(1) = Γ(1). 1.6 (a) Prove that Γ_{1}(N) is a group.

(b) Prove that Γ_{1}(N) has finite index in SL_{2}(ℤ) (Hint: it contains the kernel of the homomorphism SL_{2}(ℤ) → SL_{2}(ℤ/Nℤ).)

(c) Prove that Γ_{0}(N) has finite index in SL_{2}(ℤ).

(d) Prove that Γ_{0}(N) and Γ_{1}(N) have level N. 1.7 Let k be an integer, and for any function f : 𝔥^{∗} → ℂ and γ =

( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ GL_{2}(ℚ), set f^{[γ]_{k}}(z) = det(γ)^{k−1} · (cz + d)^{−k} · f(γ(z)).

Prove that if γ_{1}, γ_{2} ∈ GL_{2}(ℤ), then for all z ∈ 𝔥^{∗} we have

f^{[γ_{1}γ_{2}]_{k}}(z) = ((f^{[γ_{1}]_{k}})^{[γ_{2}]_{k}})(z).

1.8 Prove that for any α, β ∈ ℙ^{1}(ℚ), there exists γ ∈ SL_{2}(ℤ) such that

γ(α) = β. 1.9 Prove Proposition 1.13, which asserts that the set of cusps C(Γ),

for any congruence subgroup Γ, is finite. 1.10 Use Algorithm 1.19 to give an example of a group Γ and cusp α

with width 2.

Modular Forms of Level One

In this chapter we study in detail the structure of level 1 modular forms, i.e., modular forms on SL_{2}(ℤ) = Γ_{0}(1) = Γ_{1}(1). We assume some complex analysis (e.g., the residue theorem), linear algebra, and that the reader has read Chapter 1.

2.1. Examples of Modular Forms of Level One

In this section we will finally see some examples of modular forms of level 1! We first introduce the Eisenstein series then define Δ, which is a cusp form of weight 12. In Section 2.2 we prove the structure theorem, which says that all modular forms of level 1 are polynomials in Eisenstein series.

For an even integer k ≥ 4, the non-normalized weight k Eisenstein series is the function on the extended upper half plane 𝔥^{∗} = 𝔥 ∪ ℙ^{1}(ℚ) given by

(2.1.1)  G_{k}(z) = ∑_{m,n∈ℤ}^{∗} \frac{1}{(mz + n)^{k}} .

The star on top of the sum symbol means that for each z the sum is over all m, n ∈ ℤ such that mz + n ≠ 0.

Proposition 2.1. The function G_{k}(z) is a modular form of weight k, i.e., G_{k} ∈ M_{k}(SL_{2}(ℤ)).

Proof. See [Ser73b, § VII.2.3] for a proof that G_{k}(z) defines a holomorphic function on 𝔥^{∗}. To see that G_{k} is modular, observe that

G_{k}(z + 1) = ∑^{∗} \frac{1}{(m(z + 1) + n)^{k}} = ∑^{∗} \frac{1}{(mz + (n + m))^{k}} = ∑^{∗} \frac{1}{(mz + n)^{k}} ,

where for the last equality we use that the map (m, n + m) ↦ (m, n) on ℤ × ℤ is invertible. Also,

G_{k}(−1/z) = ∑^{∗} \frac{1}{(−m/z + n)^{k}}

= ∑^{∗} \frac{z^{k}}{(−m + nz)^{k}}

= z^{k} ∑^{∗} \frac{1}{(mz + n)^{k}} = z^{k}G_{k}(z),

where we use that (n, −m) ↦ (m, n) is invertible. □

Proposition 2.2. G_{k}(∞) = 2ζ(k), where ζ is the Riemann zeta function.

Proof. As z → ∞ (along the imaginary axis) in (2.1.1), the terms that involve z with m ≠ 0 go to 0. Thus

G_{k}(∞) = ∑_{n∈ℤ}^{∗} \frac{1}{n^{k}} .

This sum is twice ζ(k) = ∑_{n≥1} \frac{1}{n^{k}}, as claimed. □

2.1.1. The Cusp Form Δ. Suppose E = ℂ/Λ is an elliptic curve over ℂ, viewed as a quotient of ℂ by a lattice Λ = ℤω_{1} + ℤω_{2}, with ω_{1}/ω_{2} ∈ 𝔥 (see [DS05, §1.4]). The Weierstrass ℘-function of the lattice Λ is

℘ = ℘_{Λ}(u) = \frac{1}{u^{2}} + ∑_{k=4,6,8,...}(k − 1)G_{k}(ω_{1}/ω_{2})u^{k−2},

where the sum is over even integers k ≥ 4. It satisfies the differential equation

(℘′)^{2} = 4℘^{3} − 60G_{4}(ω_{1}/ω_{2})℘ − 140G_{6}(ω_{1}/ω_{2}).

If we set x = ℘ and y = ℘′ the above is an (affine) equation of the form y^{2} = ax^{3}+bx+c for an elliptic curve that is complex analytically isomorphic to ℂ/Λ (see [Ahl78, pg. 277] for why the cubic has distinct roots).

The discriminant of the cubic

4x^{3} − 60G_{4}(ω_{1}/ω_{2})x − 140G_{6}(ω_{1}/ω_{2})

is 16D(ω_{1}/ω_{2}), where

D(z) = (60G_{4}(z))^{3} − 27(140G_{6}(z))^{2}.

Since D(z) is the difference of 2 modular forms of weight 12 it has weight 12. Morever,

D(∞) = (60G_{4}(∞))^{3} − 27 (140G_{6}(∞))^{2}

= (\frac{60}{3^{2} · 5}π^{4})^{3} − 27 (\frac{140 · 2}{3^{3} · 5 · 7}π^{6})^{2}

= 0,

so D is a cusp form of weight 12. Let

Δ = \frac{D}{(2π)^{12}} .

Lemma 2.3. If z ∈ 𝔥 then Δ(z) ≠ 0.

Proof. Let ω_{1} = z and ω_{2} = 1. Since E = ℂ/(ℤω_{1} + ℤω_{2}) is an elliptic curve, it has nonzero discriminant Δ(z) = Δ(ω_{1}/ω_{2}) ≠ 0. □

Proposition 2.4. We have Δ = q · ∏_{n=1}^{∞}(1 − q^{n})^{24}.

Proof. See [Ser73b, Thm. 6, pg. 95]. □

2.1.2. Fourier Expansions of Eisenstein Series. Recall from (1.2.4) that elements f of M_{k}(SL_{2}(ℤ)) can be expressed as formal power series in terms of q(z) = e^{2πiz}, and that this expansion is called the Fourier expansion of f. The following proposition gives the Fourier expansion of the Eisenstein series G_{k}(z).

Definition 2.5 (Sigma). For any integer t ≥ 0 and any positive integer n, the sigma function

σ_{t}(n) = ∑_{1≤d|n} d^{t},

is the sum of the tth powers of the positive divisors of n. Also, let d(n) = σ_{0}(n), which is the number of divisors of n, and σ(n) = σ_{1}(n). For example, if p is prime then σ_{t}(p) = 1 + p^{t}.

Proposition 2.6. For every even integer k ≥ 4, we have

G_{k}(z) = 2ζ(k) + 2 · \frac{(2πi)^{k}}{(k − 1)!} · ∑_{n=1}^{∞} σ_{k−1}(n)q^{n}.

Proof. See [Ser73b, §VII.4], which uses clever manipulations of series, starting with the identity

π cot(πz) = \frac{1}{z} + ∑_{m=1}^{∞} (\frac{1}{z + m} + \frac{1}{z − m}) .

□

From a computational point of view, the q-expansion of Proposition 2.6 is unsatisfactory because it involves transcendental numbers. To understand these numbers, we introduce the Bernoulli numbers B_{n} for n ≥ 0 defined by the following equality of formal power series:

(2.1.2)  \frac{x}{e^{x} − 1} = ∑_{n=0}^{∞} B_{n} \frac{x^{n}}{n!} .

Expanding the power series we have

\frac{x}{e^{x} − 1} = 1 − \frac{x}{2} + \frac{x^{2}}{12} − \frac{x^{4}}{720} + \frac{x^{6}}{30240} − \frac{x^{8}}{1209600} + · · · .

As this expansion suggests, the Bernoulli numbers B_{n} with n > 1 odd are 0 (see Exercise 1.2). Expanding the series further, we obtain the following table:

B_{0} = 1, B_{1} = −\frac{1}{2}, B_{2} = \frac{1}{6}, B_{4} = −\frac{1}{30}, B_{6} = \frac{1}{42}, B_{8} = −\frac{1}{30},

B_{10} = \frac{5}{66}, B_{12} = −\frac{691}{2730}, B_{14} = \frac{7}{6}, B_{16} = −\frac{3617}{510}, B_{18} = \frac{43867}{798},

B_{20} = −\frac{174611}{330}, B_{22} = \frac{854513}{138}, B_{24} = −\frac{236364091}{2730}, B_{26} = \frac{8553103}{6}.

See Section 2.7 for a discussion of fast (analytic) methods for computing Bernoulli numbers.

We compute some Bernoulli numbers in SAGE:

     sage: bernoulli(12)
     -691/2730
     sage: bernoulli(50)
     495057205241079648212477525/66
     sage: len(str(bernoulli(10000)))
     27706

A key fact is that Bernoulli numbers are rational numbers and they are connected to values of ζ at positive even integers.

Proposition 2.7. If k ≥ 2 is an even integer, then

ζ(k) = −\frac{(2πi)^{k}}{2 · k!} · B_{k}.

Proof. This is proved by manipulating a series expansion of z cot(z) (see [Ser73b, §VII.4]). □

Definition 2.8 (Normalized Eisenstein Series). The normalized Eisenstein series of even weight k ≥ 4 is

E_{k} = \frac{(k − 1)!}{2 · (2πi)^{k}} · G_{k}

Combining Propositions 2.6 and 2.7 we see that

(2.1.3)  E_{k} = −\frac{B_{k}}{2k} + q + ∑_{n=2}^{∞} σ_{k−1}(n)q^{n}.

Warning 2.9. Our series E_{k} is normalized so that the coefficient of q is 1, but often in the literature E_{k} is normalized so that the constant coefficient is 1. We use the normalization with the coefficient of q equal to 1, because then the eigenvalue of the nth Hecke operator (see Section 2.4) is the coefficient of q^{n}. Our normalization is also convenient when considering congruences between cusp forms and Eisenstein series.

2.2. Structure Theorem For Level One Modular Forms

In this section we describe a structure theorem for modular forms of level 1. If f is a nonzero meromorphic function on 𝔥 and w ∈ 𝔥, let ord_{w}(f) be the largest integer n such that f(z)/(w − z)^{n} is holomorphic at w. If f = ∑_{n=m}^{∞} a_{n}q^{n} with a_{m} ≠ 0, we set ord_{∞}(f) = m. We will use the following theorem to give a presentation for the vector space of modular forms of weight k; this presentation yields an algorithm to compute this space.

Let M_{k} = M_{k}(SL_{2}(ℤ)) denote the complex vector space of modular forms of weight k for SL_{2}(ℤ). The standard fundamental domain F for SL_{2}(ℤ) is the set of z ∈ 𝔥 with |z| ≥ 1 and |Re(z)| ≤ 1/2. Let ρ = e^{2πi/3}.

Theorem 2.10 (Valence Formula). Let k be any integer and suppose f ∈ M_{k}(SL_{2}(ℤ)) is nonzero. Then

ord_{∞}(f) + \frac{1}{2} ord_{i}(f) + \frac{1}{3} ord_{ρ}(f) + ∑_{w∈F}^{∗} ord_{w}(f) = \frac{k}{12},

where ∑_{w∈F}^{∗} is the sum over elements of F other than i and ρ.

Proof. The proof in [Ser73b, §VII.3] uses the residue theorem. □

Let S_{k} = S_{k}(SL_{2}(ℤ)) denote the subspace of weight k cusp forms for SL_{2}(ℤ). We have an exact sequence

0 → S_{k} → M_{k} ⟶^{ι_{∞}} ℂ

that sends f ∈ M_{k} to f(∞). When k ≥ 4 is even, the space M_{k} contains the Eisenstein series G_{k}, and G_{k}(∞) = 2ζ(k) ≠ 0, so the map M_{k} → ℂ is surjective. This proves the following lemma.

Lemma 2.11. If k ≥ 4 is even, then M_{k} = S_{k} ⊕ ℂG_{k} and the following sequence is exact:

0 → S_{k} → M_{k} ⟶^{ι_{∞}} ℂ → 0.

Proposition 2.12. For k < 0 and k = 2, we have M_{k} = 0.

Proof. Suppose f ∈ M_{k} is nonzero yet k = 2 or k < 0. By Theorem 2.10,

ord_{∞}(f) + \frac{1}{2} ord_{i}(f) + \frac{1}{3} ord_{ρ}(f) + ∑_{w∈D}^{∗} ord_{w}(f) = \frac{k}{12} ≤ \frac{1}{6}.

This is not possible because each quantity on the left is nonnegative so whatever the sum is, it is too big (or 0, in which case k = 0). □

Theorem 2.13. Multiplication by Δ defines an isomorphism M_{k−12} → S_{k}.

Proof. By Lemma 2.3, Δ is not identically 0, so because Δ is holomorphic multiplication by Δ defines an injective map M_{k−12} ↪ S_{k}. To see that this map is surjective, we show that if f ∈ S_{k} then f/Δ ∈ M_{k−12}. Since Δ has weight 12 and ord_{∞}(Δ) ≥ 1, Theorem 2.10 implies that Δ has a simple zero at ∞ and does not vanish on 𝔥. Thus if f ∈ S_{k} and we let g = f/Δ, then g is holomorphic and satisfies the appropriate transformation formula, so g ∈ M_{k−12}. □

Corollary 2.14. For k = 0, 4, 6, 8, 10, 14, the space M_{k} has dimension 1, with basis 1, G_{4}, G_{6}, G_{8}, G_{10}, and G_{14}, respectively, and S_{k} = 0.

Proof. Combining Proposition 2.12 with Theorem 2.13 we see that the spaces M_{k} for k ≤ 10 can not have dimension bigger than 1, since otherwise M_{k′} ≠ 0 for some k′ < 0. Also M_{14} has dimension at most 1, since M_{2} has dimension 0. Each of the indicated spaces of weight ≥ 4 contains the indicated Eisenstein series, so has dimension 1, as claimed. □

Corollary 2.15. dim M_{k} = \begin{cases}0 & if k is odd or negative, \\ ⌊k/12⌋ & if k ≡ 2 (mod 12), \\ ⌊k/12⌋ + 1 & if k ≢ 2 (mod 12). \end{cases}

Here ⌊x⌋ is the biggest integer ≤ x.

Proof. As we have already seen above, the formula is true when k ≤ 12. By Theorem 2.13, the dimension increases by 1 when k is replaced by k+12. □

Theorem 2.16. The space M_{k} has as basis the modular forms G_{4}^{a}G_{6}^{b}, where a, b run over all pairs of nonnegative integers such that 4a + 6b = k.

Proof. Fix an even integer k. We first prove by induction that the modular forms G_{4}^{a}G_{6}^{b} generate M_{k}, the cases k ≤ 10 and k = 14 follow from the above arguments (e.g., when k = 0 we have a = b = 0 and basis 1). Choose some pair of nonnegative integers a, b such that 4a + 6b = k. The form g = G_{4}^{a}G_{6}^{b} is not a cusp form, since it is nonzero at ∞. Now suppose f ∈ M_{k} is arbitrary. Since g(∞) ≠ 0, there exists α ∈ ℂ such that f − αg ∈ S_{k}. Then by Theorem 2.13, there is h ∈ M_{k−12} such that f − αg = Δ · h. By induction, h is a polynomial in G_{4} and G_{6} of the required type, and so is Δ, so f is as well. Thus

{G_{4}^{a}G_{6}^{b} | a ≥ 0, b ≥ 0, 4a + 6b = k}

spans M_{k}.

Suppose there is a nontrivial linear relation between the G_{4}^{a}G_{6}^{b} for a given k. By multiplying the linear relation by a suitable power of G_{4} and G_{6}, we may assume that we have such a nontrivial relation with k ≡ 0 (mod 12). Now divide the linear relation by the weight k form G_{6}^{k/6} to see that G_{4}^{3}/G_{6}^{2} satisfies a polynomial with coefficients in ℂ (see Exercise 2.4). Hence G_{4}^{3}/G_{6}^{2} is a root of a polynomial, hence a constant, which is a contradiction since the q-expansion of G_{4}^{3}/G_{6}^{2} is not constant. □

Algorithm 2.17 (Basis for M_{k}). Given integers n and k, this algorithm computes a basis of q-expansions for the complex vector space M_{k} mod q^{n}. The q-expansions output by this algorithm have coefficients in ℚ.

(1) [Simple Case] If k = 0 output the basis with just 1 in it, and terminate; otherwise if k < 4 or k is odd, output the empty basis and terminate.

(2) [Power Series] Compute E_{4} and E_{6} mod q^{n} using the formula from (2.1.3) and Section 2.7.

(3) [Initialize] Set b = 0.

(4) [Enumerate Basis] For each integer b between 0 and ⌊k/6⌋, compute a = (k − 6b)/4. If a is an integer, compute and output the basis element E_{4}^{a}E_{6}^{b} mod q^{n}. When computing E_{4}^{a}, find E_{4}^{m} (mod q^{n}) for each m ≤ a, and saving these intermediate powers, so they can be reused later, and likewise for powers of E_{6}.

Proof. This is simply a translation of Theorem 2.16 into an algorithm, since E_{k} is a nonzero scalar multiple of G_{k}. That the q-expansions have coefficients in ℚ follows from (2.1.3). □

Example 2.18. We compute a basis for M_{24}, which is the space with smallest weight whose dimension is bigger than 1. It has as basis E_{4}^{6}, E_{4}^{3}E_{6}^{2}, and E_{6}^{4}, whose explicit expansions are

E_{4}^{6} = \frac{1}{191102976000000} + \frac{1}{132710400000}q + \frac{203}{44236800000}q^{2} + ⋯
E_{4}^{3}E_{6}^{2} = \frac{1}{3511517184000} − \frac{1}{12192768000}q − \frac{377}{4064256000}q^{2} + ⋯
E_{6}^{4} = \frac{1}{64524128256} − \frac{1}{32006016}q + \frac{241}{10668672}q^{2} + · · · .

We compute this basis in SAGE as follows:

     sage: E4 = eisenstein_series_qexp(4, 3)
     sage: E6 = eisenstein_series_qexp(6, 3)
     sage: E4^6
     1/191102976000000 + 1/132710400000*q +
                              203/44236800000*q^2 + O(q^3)
     sage: E4^3*E6^2
     1/3511517184000 - 1/12192768000*q - 377/4064256000*q^2 + O(q^3)
     sage: E6^4
     1/64524128256 - 1/32006016*q + 241/10668672*q^2 + O(q^3)

In Section 2.3, we will discuss the reduced echelon form basis for M_{k}.

2.3. The Victor Miller Basis

Lemma 2.19 (Victor Miller). The space S_{k} has a basis f_{1}, …, f_{d} such that if a_{i}(f_{j}) is the ith coefficient of f_{j}, then a_{i}(f_{j}) = δ_{i,j} for i = 1, …, d. Moreover the f_{j} all lie in ℤ[[q]]. We call this basis the Victor Miller basis for S_{k}.

This is a straightforward construction involving E_{4}, E_{6} and Δ. The following proof very closely follows [Lan95, Ch. X, Thm. 4.4], which in turn follows the first lemma of Victor Miller’s thesis.

Proof. Let d = dim S_{k}. Since B_{4} = −1/30 and B_{6} = 1/42, we note that

F_{4} = −\frac{8}{B_{4}} · E_{4} = 1 + 240q + 2160q^{2} + 6720q^{3} + 17520q^{4} + ⋯

and

F_{6} = −\frac{12}{B_{6}} · E_{6} = 1 − 504q − 16632q^{2} − 122976q^{3} − 532728q^{4} + ⋯

have q-expansions in ℤ[[q]] with leading coefficient 1. Choose integers a, b ≥ 0 such that

4a + 6b ≤ 14  and  4a + 6b ≡ k (mod 12),

with a = b = 0 when k ≡ 0 (mod 12), and let

g_{j} = Δ^{j}F_{6}^{2(d−j)+b}F_{4}^{a} = (\frac{Δ}{F_{6}^{2}} )^{j} F_{6}^{2d+b}F_{4}^{a}, for j = 1, …, d.

Then it is elementary to check that g_{j} has weight k, and

a_{j}(g_{j}) = 1,  and  a_{i}(g_{j}) = 0  when  i < j.

Hence the g_{j} are linearly independent over ℂ, and thus form a basis for S_{k}. Since F_{4}, F_{6}, and Δ are all in ℤ[[q]], so are the g_{j}. The f_{i} may then be constructed from the g_{j} by Gauss elimination. The coefficients of the resulting power series lie in ℤ because each time we clear a column we use the power series g_{j} whose leading coefficient is 1 (so no denominators are introduced). □

Remark 2.20. The basis coming from Victor Miller’s lemma is “canonical”, since it is just the reduced row echelon form of any basis. Also the integral linear combinations are precisely the modular forms of level 1 with integral q-expansion.

We extend the Victor Miller basis to all M_{k} by taking a multiple of G_{k} with constant term 1, and subtracting off the f_{i} from the Victor Miller basis so that the coefficients of q, q^{2}, … q^{d} of the resulting expansion are 0. We call the extra basis element f_{0}.

Example 2.21. If k = 24, then d = 2. Choose a = b = 0, since k ≡ 0 (mod 12). Then

g_{1} = ΔF_{6}^{2} = q − 1032q^{2} + 245196q^{3} + 10965568q^{4} + 60177390q^{5} − ⋯,

and

g_{2} = Δ^{2} = q^{2} − 48q^{3} + 1080q^{4} − 15040q^{5} + · · · .

We let f_{2} = g_{2} and

f_{1} = g_{1} + 1032g_{2} = q + 195660q^{3} + 12080128q^{4} + 44656110q^{5} − · · · .

Example 2.22. When k = 36, the Victor Miller basis including f_{0} is

f_{0} = 1 + 6218175600q^{4} + 15281788354560q^{5} + ⋯
f_{1} = q + 57093088q^{4} + 37927345230q^{5} + ⋯
f_{2} =  q^{2} + 194184q^{4} +  7442432q^{5} + ⋯
f_{3} =  q^{3} − 72q^{4} +  2484q^{5} + · · · .

Example 2.23. The SAGE command victor miller basis computes the Victor-Miller basis to any desired precision for a given k.

     sage: victor_miller_basis(28,5)
     [
     1 + 15590400*q^3 + 36957286800*q^4 + O(q^5),
     q + 151740*q^3 + 61032448*q^4 + O(q^5),
     q^2 + 192*q^3 - 8280*q^4 + O(q^5)
     ]

Remark 2.24. To write f ∈ M_{k} as a polynomial in E_{4} and E_{6}, it is wasteful to compute the Victor Miller basis. Instead, use the upper triangular (but not echelon!) basis Δ^{j}F_{6}^{2(d−j)+a}F_{4}^{b}, and match coefficients from q^{0} to q^{d}.

2.4. Hecke Operators

In this section we define Hecke operators on level 1 modular forms and derive their basic properties. We will not give proofs of the analogous properties for Hecke operators on higher level modular forms, since the proofs are clearest in the level 1 case, and the general case is similar (see, e.g., [Lan95]).

For any positive integer n, let

X_{n} = \{(\begin{matrix}a & b \\ 0 & d \end{matrix}) ∈ Mat_{2}(ℤ) : a ≥ 1, ad = n, and 0 ≤ b < d\} .

Note that the set X_{n} is in bijection with the set of subgroups of ℤ^{2} of index n, where ( \begin{matrix}a & b \\ c & d \end{matrix} ) corresponds to L = ℤ · (a, b) + ℤ · (0, d), as one can see using Hermite normal form, which is the analogue over ℤ of echelon form (see Exercise 7.5).

Recall from (1.3.1) that if γ = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ GL_{2}(ℚ), then

f^{[γ]_{k}} = det(γ)^{k−1}(cz + d)^{−k}f(γ(z)).

Definition 2.25 (Hecke Operator T_{n,k}). The nth Hecke operator T_{n,k} of weight k is the operator on the set of functions on 𝔥 defined by

T_{n,k}(f) = ∑_{γ∈X_{n}} f^{[γ]_{k}}.

Remark 2.26. It would make more sense to write T_{n,k} on the right, e.g., f|T_{n,k}, since T_{n,k} is defined in terms of a right group action. However, if n, m are integers, then the action of T_{n,k} and T_{m,k} on weakly modular functions commutes (by Proposition 2.28 below), so it makes no difference whether we consider the Hecke operators of given weight k as acting on the right or left.

Proposition 2.27. If f is a weakly modular function of weight k, then so is T_{n,k}(f); if f is a modular function, then so is T_{n,k}(f).

Proof. Suppose γ ∈ SL_{2}(ℤ). Since γ induces an automorphism of ℤ^{2}, the set

X_{n} · γ = {δγ : δ ∈ X_{n}}

is also in bijection with the subgroups of ℤ^{2} of index n. For each element δγ ∈ X_{n} · γ, there is σ ∈ SL_{2}(ℤ) such that σδγ ∈ X_{n} (the element σ transforms δγ to Hermite normal form), and the set of elements σδγ is thus equal to X_{n}. Thus

T_{n,k}(f) = ∑_{σδγ∈X_{n}} f^{[σδγ]_{k}} = ∑_{δ∈X_{n}} f^{[δγ]_{k}} = T_{n,k}(f)^{[γ]_{k}}.

A finite sum of meromorphic function is meromorphic, so T_{n,k}(f) is weakly modular. If f is holomorphic on 𝔥, then each f^{[δ]_{k}} is holomorphic on 𝔥 for δ ∈ X_{n}. A finite sum of holomorphic functions is holomorphic, so T_{n,k}(f) is holomorphic.

□

We will frequently drop k from the notation in T_{n,k}, since the weight k is implicit in the modular function to which we apply the Hecke operator. Henceforth we make the convention that if we write T_{n}(f) and f is modular, then we mean T_{n,k}(f), where k is the weight of f.

Proposition 2.28. On weight k modular functions we have

(2.4.1)  T_{mn} = T_{m}T_{n}  if (m, n) = 1,

and

(2.4.2)  T_{p^{n}} = T_{p^{n−1}}T_{p} − p^{k−1}T_{p^{n−2}}, if p is prime.

Proof. Let L be a subgroup of index mn. The quotient ℤ^{2}/L is an abelian group of order mn, and (m, n) = 1, so ℤ^{2}/L decomposes uniquely as a direct sum of a subgroup of order m with a subgroup of order n. Thus there exists a unique subgroup L′ such that L ⊂ L′ ⊂ ℤ^{2}, and L′ has index m in ℤ^{2}. The subgroup L′ corresponds to an element of X_{m}, and the index n subgroup L ⊂ L′ corresponds to multiplying that element on the right by some uniquely determined element of X_{n}. We thus have

SL_{2}(ℤ) · X_{m} · X_{n} = SL_{2}(ℤ) · X_{mn},

i.e., the set products of elements in X_{m} with elements of X_{n} equal the elements of X_{mn}, up to SL_{2}(ℤ)-equivalence. Thus for any f, we have T_{mn}(f) = T_{n}(T_{m}(f)). Applying this formula with m and n swapped yields the equality T_{mn} = T_{m}T_{n}.

We will show that T_{p^{n}} + p^{k−1}T_{p^{n−2}} = T_{p}T_{p^{n−1}}. Suppose f is a weight k

weakly modular function. Using that f^{[( \begin{matrix}p & 0 \\ 0 & p \end{matrix} )]_{k}} = (p^{2})^{k−1}p^{−k}f = p^{k−2}f, we have

∑_{x∈X_{p^{n}}} f^{[x]_{k}} + p^{k−1} ∑_{x∈X_{p^{n−2}}} f^{[x]_{k}} = ∑_{x∈X_{p^{n}}} f^{[x]_{k}} + p ∑_{x∈pX_{p^{n−2}}} f^{[x]_{k}}.

Also

T_{p}T_{p^{n−1}}(f) = ∑_{y∈X_{p}} ∑_{x∈X_{p^{n−1}}}(f^{[x]_{k}})^{[y]_{k}} = ∑_{x∈X_{p^{n−1}}·X_{p}} f^{[x]_{k}}.

Thus it suffices to show that X_{p^{n}} disjoint union p copies of pX_{p^{n−2}} is equal to X_{p^{n−1}} · X_{p}, where we consider elements with multiplicities and up to left SL_{2}(ℤ)-equivalence (i.e., the left action of SL_{2}(ℤ)).

Suppose L is a subgroup of ℤ^{2} of index p^{n}, so L corresponds to an element of X_{p^{n}}. First suppose L is not contained in pℤ^{2}. Then the image of L in ℤ^{2}/pℤ^{2} = (ℤ/pℤ)^{2} is of order p, so if L′ = pℤ^{2} +L, then [ℤ^{2} : L′] = p and [L : L′] = p^{n−1}, and L′ is the only subgroup with this property. Second suppose that L ⊂ pℤ^{2} if of index p^{n}, and that x ∈ X_{p^{n}} corresponds to L. Then every one of the p + 1 subgroups L′ ⊂ ℤ^{2} of index p contains L. Thus there are p + 1 chains L ⊂ L′ ⊂ ℤ^{2} with [ℤ^{2} : L′] = p.

The chains L ⊂ L′ ⊂ ℤ^{2} with [ℤ^{2} : L′] = p and [ℤ^{2} : L] = p^{n−1} are in bijection with the elements of X_{p^{n−1}} · X_{p}. On the other hand the union of X_{p^{n}} with p copies of pX_{p^{n−2}} corresponds to the subgroups L of index p^{n}, but with those that contain pℤ^{2} counted p + 1 times. The structure of the set of chains L ⊂ L′ ⊂ ℤ^{2} that we derived in the previous paragraph gives the result. □

Corollary 2.29. The Hecke operator T_{p^{n}}, for prime p, is a polynomial in T_{p} with integer coefficients, i.e., T_{p^{n}} ∈ ℤ[T_{p}]. If n, m are any integers then T_{n}T_{m} = T_{m}T_{n}.

Proof. The first statement follows from (2.4.2) of Proposition 2.28. It then follows that T_{n}T_{m} = T_{m}T_{n} when m and n are both powers of a single prime p. Combining this with (2.4.1) gives the second statement in general. □

Proposition 2.30. Let f = ∑_{n∈ℤ} a_{n}q^{n} be a modular function of weight k. Then

T_{n}(f) = ∑_{m∈ℤ} ( ∑_{1≤d | gcd(n,m)} d^{k−1}a_{mn/d^{2}} ) q^{m}.

In particular, if n = p is prime, then

T_{p}(f) = ∑_{m∈ℤ}(a_{mp} + p^{k−1}a_{m/p}) q^{m},

where a_{m/p} = 0 if m/p ∉ ℤ.

Proof. This is proved in [Ser73b, §VII.5.3] by writing out T_{n}(f) explicitly and using that ∑_{0≤b<d} e^{2πibm/d} is d if d | m and 0 otherwise. □

Corollary 2.31. The Hecke operators preserve M_{k} and S_{k}.

Remark 2.32. Alternatively, for M_{k} the above corollary is Proposition 2.27, and for S_{k} we see from the definitions that if f(∞) = 0 then T_{n}f also vanishes at ∞.

Example 2.33. Recall from (2.1.3) that

E_{4} = \frac{1}{240} + q + 9q^{2} + 28q^{3} + 73q^{4} + 126q^{5} + 252q^{6} + 344q^{7} + · · · .

Using the formula of Proposition 2.30, we see that

T_{2}(E_{4}) = (1/240 + 2^{3} · (1/240)) + 9q + (73 + 2^{3} · 1)q^{2} + · · · .

Since M_{4} has dimension 1, and we have proved that T_{2} preserves M_{4}, we know that T_{2} acts as a scalar. Thus we know just from the constant coefficient of T_{2}(E_{4}) that

T_{2}(E_{4}) = 9E_{4}.

More generally, for p prime we see by inspection of the constant coefficient of T_{p}(E_{4}) that

T_{p}(E_{4}) = (1 + p^{3})E_{4}.

In fact T_{n}(E_{k}) = σ_{k−1}(n)E_{k}, for any integer n ≥ 1 and even weight k ≥ 4.

Example 2.34. By Corollary 2.31, the Hecke operators T_{n} also preserve the subspace S_{k} of M_{k}. Since S_{12} has dimension 1 (spanned by Δ), we see that Δ is an eigenvector for every T_{n}. Since the coefficient of q in the q-expansion of Δ is 1, the eigenvalue of T_{n} on Δ is the nth coefficient of Δ. Since T_{nm} = T_{n}T_{m} for gcd(n, m) = 1 we have proved the non-obvious fact that the Ramanujan function τ(n) that gives the nth coefficient of Δ is a multiplicative function, i.e., if gcd(n, m) = 1, then τ(nm) = τ(n)τ(m).

Remark 2.35. The Hecke operators respect the decomposition M_{k} = S_{k} ⊕ ℂE_{k}, i.e., for all k the series E_{k} are eigenvectors for all T_{n}.

2.5. Computing Hecke Operators

This section is about how to compute matrices of Hecke operators on M_{k}.

Algorithm 2.36 (Hecke Operator). This algorithm computes the matrix of the Hecke operator T_{n} on the Victor Miller basis for M_{k}.

(1) [Dimension] Compute d = dim(M_{k}) − 1 using Corollary 2.15.

(2) [Basis] Using Lemma 2.19, compute the echelon basis f_{0}, …, f_{d} for M_{k} (mod q^{dn+1}).

(3) [Hecke operator] Using Proposition 2.30, compute for each i the image T_{n}(f_{i}) (mod q^{d+1}) .

(4) [Write in terms of basis] The elements T_{n}(f_{i}) (mod q^{d+1}) determine linear combinations of

f_{0}, f_{1}, …, f_{d} (mod q^{d}).

These linear combinations are easy to find once we compute T_{n}(f_{i}) (mod q^{d+1}), since our basis of f_{i} is in echelon form. The linear combinations are just the coefficients of the power series T_{n}(f_{i}) up to and including q^{d}.

(5) [Write down matrix] The matrix of T_{n} acting from the right relative to the basis f_{0}, …, f_{d} is the matrix whose rows are the linear combinations found in the previous step, i.e., whose rows are the coefficients of T_{n}(f_{i}).

Proof. By Proposition 2.30, the dth coefficient of T_{n}(f) involves only a_{dn}, and smaller-indexed coefficients of f. We need only compute a modular form f modulo q^{dn+1} in order to compute T_{n}(f) modulo q^{d+1}. Uniqueness in Step 4 follows from Lemma 2.19 above. □

Example 2.37. We compute the Hecke operator T_{2} on M_{12} using the above algorithm.

(1) [Compute dimension] We have d = 2 − 1 = 1.

(2) [Compute basis] Compute up to (but not including) the coefficient of q^{dn+1} = q^{1·2+1} = q^{3}. As given in the proof of Lemma 2.19, we have

F_{4} = 1 + 240q + 2160q^{2} + ⋯ and F_{6} = 1 − 504q − 16632q^{2} + · · · .

Thus M_{12} has basis

F_{4}^{3} = 1+720q+179280q^{2}+⋯ and Δ = (F_{4}^{3}−F_{6}^{2})/1728 = q−24q^{2}+· · · .

Subtracting 720Δ from F_{4}^{3} yields the echelon basis, which is

f_{0} = 1 + 196560q^{2} + ⋯ and f_{1} = q − 24q^{2} + · · · .

SAGE does the arithmetic in the above calculation as follows:

             sage: R.<q> = QQ[['q']]
             sage: F4 =  240 * eisenstein_series_qexp(4,3)
             sage: F6 = -504 * eisenstein_series_qexp(6,3)
             sage: F4^3
             1 + 720*q + 179280*q^2 + O(q^3)
             sage: Delta = (F4^3 - F6^2)/1728; Delta
             q - 24*q^2 + O(q^3)
             sage: F4^3 - 720*Delta
             1 + 196560*q^2 + O(q^3)

(3) [Compute Hecke operator] In each case letting a_{n} denote the nth coefficient of f_{0} or f_{1}, respectively, we have

T_{2}(f_{0}) = T_{2}(1 + 196560q^{2} + ⋯)
= (a_{0} + 2^{11}a_{0})q^{0} + (a_{2} + 2^{11}a_{1/2})q^{1} + ⋯
= 2049 + 196560q + ⋯,

and

T_{2}(f_{1}) = T_{2}(q − 24q^{2} + ⋯)
= (a_{0} + 2^{11}a_{0})q^{0} + (a_{2} + 2^{11}a_{1/2})q^{1} + ⋯
= 0 − 24q + · · · .

(Note that a_{1/2} = 0.)

(4) [Write in terms of basis] We read off at once that

T_{2}(f_{0}) = 2049f_{0} + 196560f_{1} and T_{2}(f_{1}) = 0f_{0} + (−24)f_{1}.

(5) [Write down matrix] Thus the matrix of T_{2}, acting from the right on the basis f_{0}, f_{1}, is

T_{2} = (\begin{matrix}2049 & 196560 \\ 0 & −24 \end{matrix}) .

As a consistency check note that the characteristic polynomial of T_{2} is (x − 2049)(x + 24), and that 2049 = 1 + 2^{11} is the sum of the 11th powers of the divisors of 2.

Example 2.38. The Hecke operator T_{2} on M_{36} with respect to the echelon basis is:

(\begin{matrix}34359738369 & 0 & 6218175600 & 9026867482214400 \\ 0 & 0 & 34416831456 & 5681332472832 \\ 0 & 1 & 194184 & −197264484 \\ 0 & 0 & −72 & −54528 \end{matrix})

It has characteristic polynomial

(x − 34359738369) · (x^{3} − 139656x^{2} − 59208339456x − 1467625047588864), where the cubic factor is irreducible.

The echelon form() command creates the space of modular forms but with basis in echelon form (which is not the default).

     sage: M = ModularForms(1,36, prec=6).echelon_form()
     sage: M.basis()
     [
     1 + 6218175600*q^4 + 15281788354560*q^5 + O(q^6),
     q + 57093088*q^4 + 37927345230*q^5 + O(q^6),
     q^2 + 194184*q^4 + 7442432*q^5 + O(q^6),
     q^3 - 72*q^4 + 2484*q^5 + O(q^6)
     ]

Next we compute the matrix of the Hecke operator T_{2}.

     sage: T2 = M.hecke_matrix(2)

Finally we compute and factor its characteristic polynomial.

     sage: T2.charpoly().factor()
     (x - 34359738369) *
             (x^3 - 139656*x^2 - 59208339456*x - 1467625047588864)

The following is a famous and simple to state open problem about Hecke operators on modular forms of level 1. It generalizes our above observation that the characteristic polynomial of T_{2} on M_{k}, for k = 12, 36, factors as a product of a linear factor and an irreducible factor.

Conjecture 2.39 (Maeda). The characteristic polynomial of T_{2} on S_{k} is irreducible for any k.

Kevin Buzzard observed that in several specific cases the Galois group of the characteristic polynomial of T_{2} is the full symmetric group (see [Buz96]). See also [FJ02] for more evidence for the following conjecture:

Conjecture 2.40. For all primes p and all even k ≥ 2 the characteristic polynomial of T_{p,k} acting on S_{k} is irreducible.

2.6. Fast Computation of Fourier Coefficients

How difficult is it to compute prime-indexed coefficients of

Δ = ∑_{n=1}^{∞} τ(n)q^{n} = q − 24q^{2} + 252q^{3} − 1472q^{4} + 4830q^{5} − 6048q^{6} + ⋯?

Theorem 2.41 (Bosman, Couveignes, Edixhoven, de Jong, Merkl). Let p be a prime. There is a probabilistic algorithm to compute τ(p), for prime p, that has expected running time polynomial in log(p).

Proof. See [ECdJ^{+}06]. □

More generally, if f = ∑ a_{n}q^{n} is an eigenform in some space M_{k}(Γ_{1}(N)), where k ≥ 2, then one expects that there is an algorithm to compute a_{p} in time polynomial in log(p). Bas Edixhoven, Jean-Marc Couveignes and Robin de Jong have proved that τ(p) can be computed in polynomial time; their approach involves sophisticated techniques from arithmetic geometry (e.g., étale cohomology, motives, Arakelov theory). The ideas they use are inspired by the ones introduced by Schoof, Elkies and Atkin for quickly counting points on elliptic curves over finite fields (see [Sch95]).

Edixhoven describes (in an email to the author) the strategy as follows:

(1) We compute the mod ℓ Galois representation ρ associated to Δ. In particular, we produce a polynomial f such that ℚ[x]/(f) is the fixed field of ker(ρ). This is then used to obtain τ(p) (mod ℓ) and do a Schoof-like algorithm for computing τ(p).

(2) We compute the field of definition of suitable points of order ℓ on the modular Jacobian J_{1}(ℓ) to do part 1 (see [DS05, Ch. 6] for the definition of J_{1}(ℓ)).

(3) The method is to approximate the polynomial f in some sense (e.g., over the complex numbers, or modulo many small primes r), and use an estimate from Arakelov theory to determine a precision that will suffice.

2.7. Fast Computation of Bernoulli Numbers

This section^{1} is about the computation of the Bernoulli numbers B_{n}, for n ≥ 0, defined in Section 2.1.2 by

(2.7.1)  \frac{x}{e^{x} − 1} = ∑_{n=0}^{∞} B_{n} \frac{x^{n}}{n!} .

One way to compute B_{n} is to multiply both sides of (2.7.1) by e^{x} − 1 and equate coefficients of x^{n+1} to obtain the recurrence

B_{0} = 1, B_{n} = −\frac{1}{n + 1} · ∑_{k=0}^{n−1} \binom{n + 1}{k}B_{k}.

1This section represents joint work with Kevin McGown.

This recurrence provides a straightforward and easy-to-implement method for calculating B_{n} if one is interested in computing B_{n} for all n up to some bound. For example,

B_{1} = −\frac{1}{2} · (\binom{2}{0}B_{0}) = −\frac{1}{2},

and

B_{2} = −\frac{1}{3} · (\binom{3}{0}B_{0} + \binom{3}{1}B_{1}) = −\frac{1}{3} · (1 − \frac{3}{2}) = \frac{1}{6}.

However, computing B_{n} via the recurrence is slow; it requires summing over many large terms, it requires storing the numbers B_{0}, …, B_{n−1}, and it takes only limited advantage of asymptotically fast arithmetic algorithms. There is also an inductive procedure to compute Bernoulli numbers that resembles Pascal’s triangle called the Akiyama-Tanigawa algorithm (see [Kan00]).

A second approach to computing B_{n} is to take advantage of Newton iteration and asymptotically fast polynomial arithmetic to compute 1/(e^{x} − 1). This method yields a very fast algorithm to compute B_{0}, B_{2}, …, B_{p−3} modulo p. See [BCS92a] for an application of this method modulo a prime p to the verification of Fermat’s last theorem for irregular primes up to one million.

Example 2.42. The Buhler et al. algorithm is available in SAGE:

     sage: bernoulli_mod_p(23)
     [1, 4, 13, 17, 13, 6, 10, 5, 10, 9, 15]

A third way to compute B_{n} uses an algorithm based on Proposition 2.7, which we explain below (Algorithm 2.44). This algorithm appears to have been independently invented by several people: by Bernd C. Kellner (see [Kel06]); by Bill Dayl; and by H. Cohen and K. Belabas.

We compute B_{n} as an exact rational number by approximating ζ(n) to very high precision using Proposition 2.7, the Euler product

ζ(s) = ∑_{m=1}^{∞} m^{−s} = ∏_{p prime}(1 − p^{−s})^{−1},

and the following theorem:

Theorem 2.43 (Clausen, von Staudt). For even n ≥ 2,

denom(B_{n}) = ∏_{p−1 | n} p.

Proof. See [Lan95, Ch. X, Thm. 2.1]. □

2.7.1. The Number of Digits of B_{n}. The following is a new quick way to compute the number of digits of the numerator of B_{n}. For example, using it we can compute the number of digits of B_{10^{50}} in less than a second.

By Theorem 2.43 we have d_{n} = denom(B_{n}) = ∏_{p−1|n} p. The number of digits of numerator is thus

⌈log_{10}(d_{n} · |B_{n}|)⌉.

But

log(|B_{n}|) = log (\frac{2 · n!}{(2π)^{n}} ζ(n))
= log(2) + log(n!) − n log(2) − n log(π) + log(ζ(n)),

and ζ(n) ∼ 1 so log(ζ(n)) ∼ 0. Finally, Stirling’s formula (see [Ahl78, pg. 198–206]) gives a fast way to compute log(n!) = log(Γ(n + 1)): (2.7.2)

log(Γ(z))“ = ”\frac{1}{log(2π)} + (z − \frac{1}{2}) log(z) − z + ∑_{m=1}^{∞} \frac{B_{2m}}{2m(2m − 1)z^{2m−1}} .

The reason we put quotes around the equality sign is because log(Γ(z)) does not converge to its Laurent series. Indeed, note that for any fixed value of z the summands on the right hand side go to ∞ as m → ∞! Nonetheless, we can use this formula to very efficiently compute log(Γ(z)), since if we truncate the sum then the error is smaller than the next term in the infinite sum (this is explained in [Ahl78, pg. 198–206]).

2.7.2. Computing B_{n} Exactly. We return to the problem of computing B_{n}. Let

K = \frac{2 · n!}{(2π)^{n}}

so that |B_{n}| = Kζ(n). Write

B_{n} = \frac{a}{d},

with a, d ∈ ℤ, d ≥ 1, and gcd(a, d) = 1. It is elementary to show that a = (−1)^{n/2+1} |a| for even n ≥ 2. Suppose that using the Euler product we approximate ζ(n) from below by a number z such that

0 ≤ ζ(m) − z < \frac{1}{Kd}.

Then 0 ≤ |B_{n}| − zK < d^{−1}, hence 0 ≤ |a| − zKd < 1. It follows that |a| = ⌈zKd⌉ and hence a = (−1)^{n/2+1} ⌈zKd⌉.

It remains to compute z. Consider the following problem: given s > 1 and ε > 0, find M ∈ ℤ_{+} so that

z = ∏_{p≤M}(1 − p^{−s})^{−1} ,

satisfies 0 ≤ ζ(s) − z < ε. We always have 0 ≤ ζ(s) − z. Also,

∑_{n≤M} n^{−s} ≤ ∏_{p≤M}(1 − p^{−s})^{−1},

so

ζ(s) − z ≤ ∑_{n=M+1}^{∞} n^{−s} ≤ ∫_{M}^{∞} x^{−s} dx = \frac{1}{(s − 1)M^{s−1}} .

Thus if M > ε^{−1/(s−1)}, then

\frac{1}{(s − 1)M^{s−1}} ≤ \frac{1}{M^{s−1}} < ε ,

so ζ(s) − z < ε, as required. For our purposes, we have s = n and ε = (Kd)^{−1}, so it suffices to take M > (Kd)^{1/(n−1)}.

Algorithm 2.44 (Bernoulli number B_{n}). Given an integer n ≥ 0 this algorithm computes the Bernoulli number B_{n} as an exact rational number.

(1) [Special cases] If n = 0 return 1, if n = 1 return −1/2, and if n ≥ 3 is odd return 0.

(2) [Factorial factor] Compute K = \frac{2 · n!}{(2π)^{n}} to sufficiently many digits

of precision so the ceiling in Step 6 is uniquely determined (this precision can be determined using Section 2.7.1).

(3) [Denominator] Compute d = ∏_{p−1|n} p.

(4) [Bound] Compute M = ⌈(Kd)^{1/(n−1)}⌉.

(5) [Approximate ζ(n)] Compute z = ∏_{p≤M}(1 − p^{−n})^{−1}.

(6) [Numerator] Compute a = (−1)^{n/2+1} ⌈dKz⌉.

(7) [Output B_{n}] Return \frac{a}{d}.

In Step 5 use a sieve to compute all primes p ≤ M efficiently (which is fast, since M is so small). In Step 4 we may replace M by any integer greater than the one specified by the formula, so we do not have to compute (Kd)^{1/(n−1)} to very high precision.

In Section 5.2.2 below we will generalize the above algorithm.

Example 2.45. We illustrate Algorithm 2.44 by computing B_{50}. Using 135 binary digits of precision, we compute

K = 7500866746076957704747736.71552473164563479.

The divisors of n are 1, 2, 5, 10, 25, 50, so

d = 2 · 3 · 11 = 66.

We find M = 4 and compute

z = 1.00000000000000088817842109308159029835012.

Finally we compute

dKz = 495057205241079648212477524.999999994425778,

so

B_{50} = \frac{495057205241079648212477525}{66}.

2.8. Exercises

2.1 Using Proposition 2.7 and the table on page 16, compute ∑_{n=1}^{∞} \frac{1}{n^{26}}

explicitly. 2.2 Prove that if n > 1 is odd, then the Bernoulli number B_{n} is 0. 2.3 Use (2.1.3) to write down the coefficients of 1, q, q^{2}, and q^{3} of the

Eisenstein series E_{8}. 2.4 Suppose k is a positive integer with k ≡ 0 (mod 12). Suppose

a, b ≥ 0 are integers with 4a + 6b = k.

(a) Prove 3 | a.

(b) Show that G_{4}^{a} · G_{6}^{b} / G6^{\frac{k}{6}} = (G_{4}^{3}/G_{6}^{2})^{\frac{a}{3}} .

2.5 Compute the Victor Miller basis for M_{28}(SL_{2}(ℤ)) with precision

O(q^{8}). Your answer will look like Example 2.22. 2.6 Consider the cusp form f = q^{2}+192q^{3}−8280q^{4}+⋯ in S_{28}(SL_{2}(ℤ)). Write f as a polynomial in E_{4} and E_{6} (see Remark 2.24). 2.7 Let G_{k} be the weight k Eisenstein series from equation 2.1.1. Let c be the complex number so that the constant coefficient of the qexpansion of g = c · G_{k} is 1. Is it always the case that the qexpansion of g lies in ℤ[[q]]?

2.8 Compute the matrix of the Hecke operator T_{2} on the Victor Miller basis for M_{32}(SL_{2}(ℤ)). Then compute its characteristic polynomial and verify it factors as a product of two irreducible polynomials.

What Next? Much of the rest of this book is about methods for computing subspaces of M_{k}(Γ_{1}(N)) for general N and k. These general methods are more complicated than the methods presented in this chapter, since there are many more modular forms of small weight, and it can be difficult to obtain them. Forms of level N > 1 have subtle connections with elliptic curves, abelian varieties, and motives. Read on for more!

Modular Forms of Weight Two

We saw in Chapter 2 (especially Section 2.2) that we can compute each space M_{k}(SL_{2}(ℤ)) explicitly. This involves computing Eisenstein series E_{4} and E_{6} to some precision, then forming the basis {E_{4}^{a}E_{6}^{b} : 4a + 6b = k, 0 ≤ a, b ∈ ℤ} for M_{k}(SL_{2}(ℤ)). In this chapter we consider the more general problem of computing S_{2}(Γ_{0}(N)), for any positive integer N. Again we have a decomposition

M_{2}(Γ_{0}(N)) = S_{2}(Γ_{0}(N)) ⊕ E_{2}(Γ_{0}(N)),

where E_{2}(Γ_{0}(N)) is spanned by generalized Eisenstein series and S_{2}(Γ_{0}(N)) is the space of cusp forms, i.e., elements of M_{2}(Γ_{0}(N)) that vanish at all cusps.

In Chapter 5 we compute the space E_{2}(Γ_{0}(N)) in a similar way to how we computed M_{k}(SL_{2}(ℤ)). On the other hand, elements of S_{2}(Γ_{0}(N)) often cannot be written as sums or products of generalized Eisenstein series. In fact, the structure of M_{2}(Γ_{0}(N)) is, in general, much more complicated than that of M_{k}(SL_{2}(ℤ)). For example, when p is a prime E_{2}(Γ_{0}(p)) has dimension 1, whereas S_{2}(Γ_{0}(p)) has dimension about p/12.

Fortunately an idea of Birch, which he called modular symbols, provides a method for computing S_{2}(Γ_{0}(N)), and indeed much more that is relevant to understanding special values of L-functions. Modular symbols are also a powerful theoretical tool. In this chapter, we explain how S_{2}(Γ_{0}(N)) is related to modular symbols, and how to use this relationship to explicitly compute a basis for S_{2}(Γ_{0}(N)). In Chapter 8 we will introduce more general modular symbols and explain how to use them to compute S_{k}(Γ_{0}(N)), S_{k}(Γ_{1}(N)) and S_{k}(N, ε) for any integers k ≥ 2 and N and character ε.

Section 3.1 contains a very brief summary of basic facts about modular forms of weight 2, modular curves, Hecke operators, and integral homology. Section 3.2 introduces modular symbols, and describes how to compute with them. In Section 3.5 we talk about how to cut out the subspace of modular symbols corresponding to cusp forms using the boundary map. Section 3.6 is about a straightforward method to compute a basis for S_{2}(Γ_{0}(N)) using modular symbols, and Section 3.7 outlines a more sophisticated algorithm for computing newforms that uses Atkin-Lehner theory.

Before reading this chapter you should have read Chapter 1 and Chapter 2. We also assume familiarity with algebraic curves, Riemann surfaces, and homology groups of compact Riemann surfaces.

3.1. Hecke Operators

Recall from Chapter 1 that the group Γ_{0}(N) acts on 𝔥^{∗} = 𝔥∪ℙ^{1}(ℚ) by linear fractional transformations. The quotient Γ_{0}(N)\𝔥^{∗} is a Riemann surface, which we denote by X_{0}(N). See [DS05, Ch. 2] for a detailed description of the topology on X_{0}(N). The Rieman surface X_{0}(N) also has a canonical structure of algebraic curve over ℚ, as is explained in [DS05, Ch. 7] (see also [Shi94, §6.7]).

Recall from Section 1.3 that a cusp form of weight 2 for Γ_{0}(N) is a function f on 𝔥 such that f(z)dz defines a holomorphic differential on X_{0}(N). Equivalently, a cusp form is a holomorphic function f on 𝔥 such that

(a) the expression f(z)dz is invariant under replacing z by γ(z) for each γ ∈ Γ_{0}(N), and

(b) f(z) vanishes at every cusp for Γ_{0}(N).

The space S_{2}(Γ_{0}(N)) of weight 2 cusp forms on Γ_{0}(N) is a finite dimensional complex vector space, of dimension equal to the genus g of X_{0}(N). The space X_{0}(N)(ℂ) is a compact oriented Riemann surface, so it is a 2-dimensional oriented real manifold, i.e., X_{0}(N)(ℂ) is a g-holed torus (see Figure 3.1.1 on page 38).

Condition (b) in the definition of f means that f has a Fourier expansion about each element of ℙ^{1}(ℚ). Thus, at ∞ we have

f(z) = a_{1}e^{2πiz} + a_{2}e^{2πi2z} + a_{3}e^{2πi3z} + ⋯
= a_{1}q + a_{2}q^{2} + a_{3}q^{3} + ⋯,

where, for brevity, we write q = q(z) = e^{2πiz}.

Example 3.1. Let E be the elliptic curve defined by the equation y^{2} +xy = x^{3} + x^{2} − 4x − 5. Let a_{p} = p + 1 − #Ẽ(𝔽_{p}), where Ẽ is the reduction of E mod p (note that for the primes that divide the conductor of E we have a_{3} = −1, a_{13} = 1). For n composite, define a_{n} using the relations at the end of Section 3.7. Then the Shimura-Taniyama conjecture asserts that

f = q + a_{2}q^{2} + a_{3}q^{3} + a_{4}q^{4} + a_{5}q^{5} + ⋯
= q + q^{2} − q^{3} − q^{4} + 2q^{5} + ⋯

is the q-expansion of an element of S_{2}(Γ_{0}(39)). This conjecture, which is now a theorem (see [BCDT01]), asserts that any q-expansion constructed as above from an elliptic curve over ℚ is a modular form. This conjecture was mostly proved first by Wiles [Wil95] as a key step in the proof of Fermat’s last theorem.

Just as is the case for level 1 modular forms (see Section 2.4) there are commuting Hecke operators T_{1}, T_{2}, T_{3}, … that act on S_{2}(Γ_{0}(N)). To define them conceptually, we introduce an interpretation of the modular curve X_{0}(N) as an object whose points parameterize elliptic curves with extra structure.

Proposition 3.2. The complex points of Y_{0}(N) = Γ_{0}(N)\𝔥 are in natural bijection with isomorphism classes of pairs (E, C), where E is an elliptic curve over ℂ and C is a cyclic subgroup of E(ℂ) of order N. The class of the point λ ∈ 𝔥 corresponds to the pair

(ℂ/(ℤ + ℤλ), (\frac{1}{N} ℤ + ℤλ) /(ℤ + ℤλ)) .

Proof. See Exercise 3.1. □

Suppose n and N are coprime positive integers. There are two natural maps π_{1} and π_{2} from Y_{0}(n · N) to Y_{0}(N); the first, π_{1}, sends (E, C) ∈ Y_{0}(n · N)(ℂ) to (E, C′), where C′ is the unique cyclic subgroup of C of order N, and the second, π_{2}, sends (E, C) to (E/D, C/D), where D is the unique cyclic subgroup of C of order n. These maps extend in a unique way to algebraic maps from X_{0}(n · N) to X_{0}(N):

(3.1.1)  \xymatrix{ & X_{0}(n · N) \ar[dl]_{π_{2}} \ar[dr]^{π_{1}} \\ X_{0}(N) &  & X_{0}(N).}

The nth Hecke operator T_{n} is π_{1}_{∗} ∘π_{2}^{∗}, where π_{2}^{∗} and π_{1}_{∗} denote pullback and pushforward of differentials respectively. (There is a similar definition of T_{n} when gcd(n, N) ≠ 1.) Using our interpretation of S_{2}(Γ_{0}(N)) as differentials on X_{0}(N) this gives an action of Hecke operators on S_{2}(Γ_{0}(N)). One can show that these induce the maps of Proposition 2.30 on q-expansions.

Example 3.3. There is a basis of S_{2}(39) so that

T_{2} = (\begin{matrix}1 & 1 & 0 \\ −2 & −3 & −2 \\ 0 & 0 & 1 \end{matrix}) and T_{5} = (\begin{matrix}−4 & −2 & −6 \\ 4 & 4 & 4 \\ 0 & 0 & 2 \end{matrix}) .

Notice that these matrices commute. Also, the characteristic polynomial of T_{2} is (x − 1) · (x^{2} + 2x − 1).

3.1.1. Homology. The first homology group H_{1}(X_{0}(N), ℤ) is the group of closed 1-cycles modulo boundaries of 2-cycles (formal sums of images of 2-simplexes). Topologically X_{0}(N) is a g-holed torus, where g is the genus of X_{0}(N). Thus H_{1}(X_{0}(N), ℤ) is a free abelian group of rank 2g (see, e.g., [GH81, Ex. 19.30] and [DS05, §6.1]), with two generators corresponding to each hole, as illustrated in the case N = 39 in Figure 3.1.1.

H_{1}(X_{0}(39), ℤ) ≅ ℤ × ℤ × ℤ × ℤ × ℤ × ℤ

Figure 3.1.1. The homology of X_{0}(39).

The homology of X_{0}(N) is closely related to modular forms, since the Hecke operators T_{n} also act on H_{1}(X_{0}(N), ℤ). The action is by pullback of homology classes by π_{2} followed by taking the image under π_{1}, where π_{1} and π_{2} are as in (3.1.1).

Integration defines a pairing

(3.1.2)  ⟨ , ⟩ : S_{2}(Γ_{0}(N)) × H_{1}(X_{0}(N), ℤ) → ℂ.

Explicitly, for a path x,

⟨f, x⟩ = 2πi · ∫_{x} f(z)dz.

Theorem 3.4. The pairing (3.1.2) is nondegenerate and Hecke equivariant in the sense that for every Hecke operator T_{n}, we have ⟨fT_{n}, x⟩ = ⟨f, T_{n}x⟩. Moreover, it induces a perfect pairing

(3.1.3)  ⟨ , ⟩ : S_{2}(Γ_{0}(N)) × H_{1}(X_{0}(N), ℝ) → ℂ.

This is a special case of the results in Section 8.5.

As we will see, modular symbols allow us to make explicit the action of the Hecke operators on H_{1}(X_{0}(N), ℤ); the above pairing then translates this into a wealth of information about cusp forms.

We will also consider the relative homology group H_{1}(X_{0}(N), ℤ; {cusps}) of X_{0}(N) relative to the cusps; it is the same as usual homology, but in addition we allow paths with endpoints in the cusps instead of restricting to closed loops. Modular symbols provide a “combinatorial” presentation of

PSfrag replacements

∞ α β 0 ℚ

Figure 3.1.2. The modular symbols {α, β} and {0, ∞}.

H_{1}(X_{0}(N), ℤ) in terms of paths between elements of ℙ^{1}(ℚ).

3.2. Modular Symbols

Let 𝕄_{2} be the free abelian group with basis the set of symbols {α, β} with α, β ∈ ℙ^{1}(ℚ) modulo the 3-term relations

{α, β} + {β, γ} + {γ, α} = 0

above and modulo any torsion. Since 𝕄_{2} is torsion free, we have

{α, α} = 0  and  {α, β} = −{β, α}.

Remark 3.5 (Warning). The symbols {α, β} satisfy the relations {α, β} = −{β, α}, so order matters. The notation {α, β} looks like the set containing two elements, which strongly (and incorrectly) suggests that the order does not matter. This is the standard notation in the literature.

As illustrated in Figure 3.1.2, we “think of” this modular symbol as the homology class, relative to the cusps, of a path from α to β in 𝔥^{∗}.

Define a left action of GL_{2}(ℚ) on 𝕄_{2} by letting g ∈ GL_{2}(ℚ) act by

g{α, β} = {g(α), g(β)},

and g acts on α and β via the corresponding linear fractional transformation. The space 𝕄_{2}(Γ_{0}(N)) of modular symbols for Γ_{0}(N) is the quotient of 𝕄_{2} by the submodule generated by the infinitely many elements of the form x − g(x), for x in 𝕄_{2} and g in Γ_{0}(N), and modulo any torsion. A modular symbol for Γ_{0}(N) is an element of this space. We frequently denote the equivalence class that defines a modular symbol by giving a representative element.

Example 3.6. Some modular symbols are 0 no matter what the level N is! For example, since γ = ( \begin{matrix}1 & 1 \\ 0 & 1 \end{matrix} ) ∈ Γ_{0}(N), we have

{∞, 0} = {γ(∞), γ(0)} = {∞, 1},

so

0 = {∞, 1} − {∞, 0} = {∞, 1} + {0, ∞} = {0, ∞} + {∞, 1} = {0, 1}.

See Exercise 3.2 for a generalization of this observation.

There is a natural homomorphism

(3.2.1)  φ : 𝕄_{2}(Γ_{0}(N)) → H_{1}(X_{0}(N), {cusps}, ℤ)

that sends a formal linear combination of geodesic paths in the upper half plane to their image as paths on X_{0}(N). In [Man72] Manin proved that (3.2.1) is an isomorphism (this is a fairly involved topological argument).

Manin identified the subspace of 𝕄_{2}(Γ_{0}(N)) that is sent isomorphically onto H_{1}(X_{0}(N), ℤ). Let 𝔹_{2}(Γ_{0}(N)) denote the free abelian group whose basis is the finite set C(Γ_{0}(N)) = Γ_{0}(N)\ℙ^{1}(ℚ) of cusps for Γ_{0}(N). The boundary map

δ : 𝕄_{2}(Γ_{0}(N)) → 𝔹_{2}(Γ_{0}(N))

sends {α, β} to {β}−{α}, where {β} denotes the basis element of 𝔹_{2}(Γ_{0}(N)) corresponding to β ∈ ℙ^{1}(ℚ). The kernel 𝕊_{2}(Γ_{0}(N)) of δ is the subspace of cuspidal modular symbols. Thus an element of 𝕊_{2}(Γ_{0}(N)) can be thought of as a linear combination of paths in 𝔥^{∗} whose endpoints are cusps, and whose images in X_{0}(N) are homologous to a ℤ-linear combination of closed paths.

Theorem 3.7 (Manin). The map φ above induces a canonical isomorphism

𝕊_{2}(Γ_{0}(N)) ≅ H_{1}(X_{0}(N), ℤ).

Proof. This is [Man72, Thm. 1.9]. □

For any (commutative) ring R let

𝕄_{2}(Γ_{0}(N), R) = 𝕄_{2}(Γ_{0}(N)) ⊗_{ℤ} R,

and

𝕊_{2}(Γ_{0}(N), R) = 𝕊_{2}(Γ_{0}(N)) ⊗_{ℤ} R.

Proposition 3.8. We have

dim_{ℂ} 𝕊_{2}(Γ_{0}(N), ℂ) = 2 dim_{ℂ} S_{2}(Γ_{0}(N)).

Proof. We have

dim_{ℂ} 𝕊_{2}(Γ_{0}(N), ℂ) = rank_{ℤ} 𝕊_{2}(Γ_{0}(N)) = rank_{ℤ} H_{1}(X_{0}(N), ℤ) = 2g.
□

Example 3.9. We illustrate modular symbols in the case when N = 11. Using SAGE (below), which implements the algorithm that we describe below over ℚ, we find that 𝕄_{2}(Γ_{0}(11); ℚ) has basis {∞, 0}, {−1/8, 0}, {−1/9, 0}. A basis for the integral homology H_{1}(X_{0}(11), ℤ) is the subgroup generated by {−1/8, 0} and {−1/9, 0}.

     sage: set_modsym_print_mode ('modular')
     sage: M = ModularSymbols(11, 2)
     sage: M.basis()
     ({Infinity,0}, {-1/8,0}, {-1/9,0})
     sage: S = M.cuspidal_submodule()
     sage: S.integral_basis()     # basis over ZZ.
     ({-1/8,0}, {-1/9,0})
     sage: set_modsym_print_mode ('manin')    # set it back

3.3. Computing with Modular Symbols

3.3.1. Manin’s Trick. In this section, we describe a trick of Manin that we will use to prove that spaces of modular symbols are computable.

By Exercise 1.6 the group Γ_{0}(N) has finite index in SL_{2}(ℤ). Fix right coset representatives r_{0}, r_{1}, …, r_{m} for Γ_{0}(N) in SL_{2}(ℤ), so that

SL_{2}(ℤ) = Γ_{0}(N)r_{0} ∪ Γ_{0}(N)r_{1} ∪ ⋯ ∪ Γ_{0}(N)r_{m},

where the union is disjoint. For example, when N is prime, a list of coset representatives is

(\begin{matrix}1 & 0 \\ 0 & 1 \end{matrix}) , (\begin{matrix}1 & 0 \\ 1 & 1 \end{matrix}) , (\begin{matrix}1 & 0 \\ 2 & 1 \end{matrix}) , (\begin{matrix}1 & 0 \\ 3 & 1 \end{matrix}) , …, (\begin{matrix}1 & 0 \\ N − 1 & 1 \end{matrix}) , (\begin{matrix}0 & −1 \\ 1 & 0 \end{matrix}) .

Let

(3.3.1)  ℙ^{1}(ℤ/Nℤ) = {(a : b) : a, b ∈ ℤ/Nℤ, gcd(a, b, N) = 1 }/ ∼

where (a : b) ∼ (a′ : b′) if there is u ∈ (ℤ/Nℤ)^{∗} such that a = ua′, b = ub′.

Proposition 3.10. There is a bijection between ℙ^{1}(ℤ/Nℤ) and the right cosets of Γ_{0}(N) in SL_{2}(ℤ), which sends a coset representative ( \begin{matrix}a & b \\ c & d \end{matrix} ) to the class of (c : d) in ℙ^{1}(ℤ/Nℤ).

Proof. See Exercise 3.3. □

See Proposition 8.6 for the analogous statement for Γ_{1}(N).

We now describe an observation of Manin (see [Man72, §1.5]) that is crucial to making 𝕄_{2}(Γ_{0}(N)) computable. It allows us to write any modular symbol {α, β} as a ℤ-linear combination of symbols of the form r_{i}{0, ∞}, where the r_{i} ∈ SL_{2}(ℤ) are coset representatives as above. In particular, the finitely many symbols r_{0}{0, ∞}, … r_{m}{0, ∞} generate 𝕄_{2}(Γ_{0}(N)).

Proposition 3.11 (Manin). Let N be a positive integer and r_{0}, …, r_{m} a set of right coset representatives for Γ_{0}(N) in SL_{2}(ℤ). Every {α, β} ∈ 𝕄_{2}(Γ_{0}(N)) is a ℤ-linear combination of r_{0}{0, ∞}, …, r_{m}{0, ∞}.

We give two proofs of the proposition. The first is useful for computation (see [Cre97a, §2.1.6]); the second (see [MTT86, §2]) is easier to understand conceptually since it does not require any knowledge of continued fractions.

Continued Fractions Proof of Proposition 3.11. Since

{α, β} = {0, β} − {0, α},

it suffices to consider modular symbols of the form {0, b/a}, where the rational number b/a is in lowest terms. Expand b/a as a continued fraction and consider the successive convergents in lowest terms:

\frac{b_{−2}}{a_{−2}} = \frac{0}{1}, \frac{b_{−1}}{a_{−1}} = \frac{1}{0}, \frac{b_{0}}{a_{0}} = \frac{b_{0}}{1} , …, \frac{b_{n−1}}{a_{n−1}} , \frac{b_{n}}{a_{n}} = \frac{b}{a}

where the first two are included formally. Then

b_{k}a_{k−1} − b_{k−1}a_{k} = (−1)^{k−1},

so that

g_{k} = (\begin{matrix}b_{k} & (−1)^{k−1}b_{k−1} \\ a_{k} & (−1)^{k−1}a_{k−1} \end{matrix}) ∈ SL_{2}(ℤ).

Hence

\{\frac{b_{k−1}}{a_{k−1}} , \frac{b_{k}}{a_{k}} \} = g_{k}\{0, ∞\} = r_{i}\{0, ∞\},

for some i, is of the required special form. Since

\{0, b/a\} = \{0, ∞\} + \{∞, b_{0}\} + \{\frac{b_{0}}{1} , \frac{b_{1}}{a_{1}} \} + ⋯ + \{\frac{b_{n−1}}{a_{n−1}} , \frac{b_{n}}{a_{n}} \} ,

this completes the proof. □

Inductive Proof of Proposition 3.11. As in the first proof it suffices to prove the proposition for any symbol {0, b/a}, where b/a is in lowest terms. We will induct on a ∈ ℤ_{≥0}. If a = 0 then the symbol is {0, ∞}, which corresponds to the identity coset, so assume that a > 0. Find a′ ∈ ℤ such that

ba′ ≡ 1 (mod a);

then b′ = (ba′ − 1)/a ∈ ℤ so the matrix

δ = (\begin{matrix}b & b′ \\ a & a′ \end{matrix})

is an element of SL_{2}(ℤ). Thus δ = γ · r_{j} for some right coset representative r_{j} and γ ∈ Γ_{0}(N). Then

\{0, b/a\} − \{0, b′/a′\} = \{b′/a′, b/a\} = (\begin{matrix}b & b′ \\ a & a′ \end{matrix}) · \{0, ∞\} = r_{j}\{0, ∞\},

as elements of 𝕄_{2}(Γ_{0}(N)). By induction {0, b′/a′} is a linear combination of symbols of the form r_{k}{0, ∞}, which completes the proof. □

Example 3.12. Let N = 11, and consider the modular symbol {0, 4/7}. We have

\frac{4}{7} = 0 + \frac{1}{1 + _{\frac{1}{1+ \frac{1}{3}}}} ,

so the partial convergents are

\frac{b_{−2}}{a_{−2}} = \frac{0}{1}, \frac{b_{−1}}{a_{−1}} = \frac{1}{0}, \frac{b_{0}}{a_{0}} = \frac{0}{1}, \frac{b_{1}}{a_{1}} = \frac{1}{1}, \frac{b_{2}}{a_{2}} = \frac{1}{2}, \frac{b_{3}}{a_{3}} = \frac{4}{7}.

Thus, noting as in Example 3.6 that {0, 1} = 0, we have

{0, 4/7} = {0, ∞} + {∞, 0} + {0, 1} + {1, 1/2} + {1/2, 4/7}
= (\begin{matrix}1 & −1 \\ 2 & −1 \end{matrix}) \{0, ∞\} + (\begin{matrix}4 & 1 \\ 7 & 2 \end{matrix}) \{0, ∞\}
= (\begin{matrix}1 & 0 \\ 9 & 1 \end{matrix}) \{0, ∞\} + (\begin{matrix}1 & 0 \\ 9 & 1 \end{matrix}) \{0, ∞\}
= 2 · [(\begin{matrix}1 & 0 \\ 9 & 1 \end{matrix}) \{0, ∞\}]

We compute the convergents of 4/7 in SAGE as follows (note that 0 and ∞ are excluded):

     sage: convergents(4/7)
     [0, 1, 1/2, 4/7]

3.3.2. Manin Symbols. As above, fix coset representatives r_{0}, …, r_{m} for Γ_{0}(N) in SL_{2}(ℤ). Consider formal symbols [r_{i}]′ for i = 0, …, m. Let [r_{i}] be the modular symbol r_{i}{0, ∞} = {r_{i}(0), r_{i}(∞)}. We equip the symbols [r_{0}]′, …, [r_{m}]′ with a right action of SL_{2}(ℤ), which is given by [r_{i}]′.g = [r_{j}]′, where Γ_{0}(N)r_{j} = Γ_{0}(N)r_{i}g. We extend the notation by writing [γ]′ = [Γ_{0}(N)γ]′ = [r_{i}]′, where γ ∈ Γ_{0}(N)r_{i}. Then the right action of Γ_{0}(N) is simply [γ]′.g = [γg]′.

Theorem 1.2 implies that SL_{2}(ℤ) is generated by the two matrices σ = ( \begin{matrix}0 & −1 \\ 1 & 0 \end{matrix} ) and τ = ( \begin{matrix}1 & −1 \\ 1 & 0 \end{matrix} ). Note that σ = S from Theorem 1.2 and τ = T S, so T = τσ ∈ ⟨σ, τ⟩.

The following theorem provides us with a finite presentation for the space 𝕄_{2}(Γ_{0}(N)) of modular symbols.

Theorem 3.13 (Manin). Consider the quotient M of the free abelian group on Manin symbols [r_{0}]′, …, [r_{m}]′ by the subgroup generated by the elements (for all i):

[r_{i}]′ + [r_{i}]′σ  and  [r_{i}]′ + [r_{i}]′τ + [r_{i}]′τ^{2},

and modulo any torsion. Then there is an isomorphism

Ψ : M ⟶^{∼} 𝕄_{2}(Γ_{0}(N))

given by [r_{i}]′ ↦ [r_{i}] = r_{i}{0, ∞}.

Proof. We will only prove that Ψ is surjective; the proof that Ψ is injective requires much more work and will be omitted from this book (see [Man72, §1.7] for a complete proof).

Proposition 3.11 implies that Ψ is surjective, assuming that Ψ is well defined. We next verify that Ψ is well defined, i.e., that the listed two and three term relations hold in the image. To see that the first relation holds, note that

[r_{i}] + [r_{i}]σ = {r_{i}(0), r_{i}(∞)} + {r_{i}σ(0), r_{i}σ(∞)}
= {r_{i}(0), r_{i}(∞)} + {r_{i}(∞), r_{i}(0)}
= 0.

For the second relation we have

[r_{i}] + [r_{i}]τ + [r_{i}]τ^{2} = {r_{i}(0), r_{i}(∞)} + {r_{i}τ(0), r_{i}τ(∞)} + {r_{i}τ^{2}(0), r_{i}τ^{2}(∞)}
= {r_{i}(0), r_{i}(∞)} + {r_{i}(∞), r_{i}(1)} + {r_{i}(1), r_{i}(0)}
= 0.
□

Example 3.14. By default SAGE computes modular symbols spaces over ℚ, i.e., 𝕄_{2}(Γ_{0}(N); ℚ) ≅ 𝕄_{2}(Γ_{0}(N))⊗ℚ. SAGE represents (weight 2) Manin symbols as pairs (c, d). Here c, d are integers that satisfy 0 ≤ c, d < N; they define a point (c : d) ∈ ℙ^{1}(ℤ/Nℤ), hence a right coset of Γ_{0}(N) in SL_{2}(ℤ) (see Proposition 3.10).

Create 𝕄_{2}(Γ_{0}(N); ℚ) in SAGE by typing ModularSymbols(N, 2). We then use the SAGE command manin generators to enumerate a list of generators [r_{0}], …, [r_{n}] as in Theorem 3.13 for several spaces of modular symbols.

     sage: M = ModularSymbols(2,2)
     sage: M
     Modular Symbols space of dimension 1 for Gamma_0(2) of weight 2
     with sign 0 over Rational Field
     sage: M.manin_generators()
     [(0,1), (1,0), (1,1)]
     sage: M = ModularSymbols(3,2)
     sage: M.manin_generators()
     [(0,1), (1,0), (1,1), (1,2)]
     sage: M = ModularSymbols(6,2)
     sage: M.manin_generators()
     [(0,1), (1,0), (1,1), (1,2), (1,3), (1,4), (1,5), (2,1),
      (2,3), (2,5), (3,1), (3,2)]

Given x=(c,d), the command x.lift to sl2z(N) computes an element of SL_{2}(ℤ) whose lower two entries are congruent to (c, d) modulo N.

     sage: M = ModularSymbols(2,2)
     sage: [x.lift_to_sl2z(2) for x in M.manin_generators()]
     [[1, 0, 0, 1], [0, -1, 1, 0], [0, -1, 1, 1]]
     sage: M = ModularSymbols(6,2)
     sage: x = M.manin_generators()[9]
     sage: x
     (2,5)
     sage: x.lift_to_sl2z(6)
     [1, 2, 2, 5]

The manin basis command returns a list of indices into the Manin generator list such that the corresponding symbols form a basis for the quotient of the ℚ-vector space spanned by Manin symbols modulo the 2 and 3-term relations of Theorem 3.13.

     sage: M = ModularSymbols(2,2)
     sage: M.manin_basis()
     [1]
     sage: [M.manin_generators()[i] for i in M.manin_basis()]
     [(1,0)]
     sage: M = ModularSymbols(6,2)
     sage: M.manin_basis()
     [1, 10, 11]
     sage: [M.manin_generators()[i] for i in M.manin_basis()]
     [(1,0), (3,1), (3,2)]

Thus, e.g., every element of 𝕄_{2}(Γ_{0}(6)) is a ℚ-linear combination of the 3 symbols [(1, 0)], [(3, 1)], and [(3, 2)]. We can write each of these as a modular symbol using the modular symbol rep function.

     sage: M.basis()
     ((1,0), (3,1), (3,2))
     sage: [x.modular_symbol_rep() for x in M.basis()]
     [{Infinity,0}, {0,1/3}, {-1/2,-1/3}]

The manin gens to basis function returns a matrix whose rows express each Manin symbol generator in terms of the subset of Manin symbols that forms a basis (as returned by manin basis).

     sage: M = ModularSymbols(2,2)
     sage: M.manin_gens_to_basis()
     [-1]
     [ 1]
     [ 0]

Since the basis is (1, 0) this means that in 𝕄_{2}(Γ_{0}(2); ℚ), we have [(0, 1)] = −[(1, 0)] and [(1, 1)] = 0. (Since no denominators are involved, we have in fact computed a presentation of 𝕄_{2}(Γ_{0}(2); ℤ).)

Convert a Manin symbol x = (c, d) to an element of a modular symbols space M, use M(x):

     sage: M = ModularSymbols(2,2)
     sage: x = (1,0); M(x)
     (1,0)
     sage: M( (3,1) )    # entries are reduced modulo 2 first
     0
     sage: M( (10,19) )
     -(1,0)

Next consider 𝕄_{2}(Γ_{0}(6); ℚ):

     sage: M = ModularSymbols(6,2)
     sage: M.manin_gens_to_basis()
     [-1  0  0]
     [ 1  0  0]
     [ 0  0  0]
     [ 0 -1  1]
     [ 0 -1  0]
     [ 0 -1  1]
     [ 0  0  0]
     [ 0  1 -1]
     [ 0  0 -1]
     [ 0  1 -1]
     [ 0  1  0]
     [ 0  0  1]

Recall that our choice of basis for 𝕄_{2}(Γ_{0}(6); ℚ) is [(1, 0)], [(3, 1)], [(3, 2)]. Thus, e.g., first row of this matrix says that [(0, 1)] = −[(1, 0)], and the fourth row asserts that [(1, 2)] = −[(3, 1)] + [(3, 2)].

     sage: M = ModularSymbols(6,2)
     sage: M((0,1))
     -(1,0)
     sage: M((1,2))
     -(3,1) + (3,2)

3.4. Hecke Operators

Figure 3.4.1. Image of {0, 1/5} under T_{2}

3.4.1. Hecke Operators on Modular Symbols. When p is a prime not dividing N, define

T_{p}(\{α, β\}) = (\begin{matrix}p & 0 \\ 0 & 1 \end{matrix}) \{α, β\} + ∑_{r mod p} (\begin{matrix}1 & r \\ 0 & p \end{matrix}) \{α, β\}.

The Hecke operators are compatible with the integration pairing ⟨ , ⟩ of Section 3.1, in the sense that ⟨fT_{p}, x⟩ = ⟨f, T_{p}x⟩. When p | N, the definition is the same, except that the matrix ( \begin{matrix}p & 0 \\ 0 & 1 \end{matrix} ) is not included in the sum (see Theorem 8.23). There is a similar definition of T_{n} for n composite (see Section 8.3.1).

Example 3.15. For example, when N = 11 we have

T_{2}{0, 1/5} = {0, 2/5} + {0, 1/10} + {1/2, 3/5}
= −2{0, 1/5}.

See Figure 3.4.1.

3.4.2. Hecke Operators on Manin Symbols. In [Mer94], L. Merel gives a description of the action of T_{p} directly on Manin symbols [r_{i}] (see Section 8.3.2 for details). For example, when p = 2 and N is odd, we have

(3.4.1) T_{2}([r_{i}]) = [r_{i}] (\begin{matrix}1 & 0 \\ 0 & 2 \end{matrix}) + [r_{i}] (\begin{matrix}2 & 0 \\ 0 & 1 \end{matrix}) + [r_{i}] (\begin{matrix}2 & 1 \\ 0 & 1 \end{matrix}) + [r_{i}] (\begin{matrix}1 & 0 \\ 1 & 2 \end{matrix}) .

For any prime, let C_{p} be the set of matrices constructed using the following algorithm (see [Cre97a, §2.4]):

Algorithm 3.16 (Cremona’s Heilbronn Matrices). Given a prime p, this algorithm outputs a list of 2 × 2 matrices of determinant p that can be used to compute the Hecke operator T_{p}.

(1) Output (\begin{matrix}1 & 0 \\ 0 & p \end{matrix}).

(2) For r = ⌈−\frac{p}{2}⌉ , …, ⌊\frac{p}{2}⌋:

(a) Let x_{1} = p, x_{2} = −r, y_{1} = 0, y_{2} = 1, a = −p, b = r.

(b) Output (\begin{matrix}x_{1} & x_{2} \\ y_{1} & y_{2} \end{matrix}).

(c) As long as b ≠ 0, do the following:

(i) Let q be the integer closest to a/b (if a/b is a half integer round away from 0). (ii) Let c = a − bq, a = −b, b = c.

(iii) Set x_{3} = qx_{2} − x_{1}, x_{1} = x_{2}, x_{2} = x_{3}, and

y_{3} = qy_{2} − y_{1}, y_{1} = y_{2}, y_{2} = y_{3},

(iv) Output (\begin{matrix}x_{1} & x_{2} \\ y_{1} & y_{2} \end{matrix}).

Proposition 3.17 (Cremona, Merel). Let C_{p} be as above. Then for p ∤ N and [x] ∈ 𝕄_{2}(Γ_{0}(N)) a Manin symbol, we have

T_{p}([x]) = ∑_{g∈C_{p}}[xg].

3.4. Hecke Operators 49

Proof. See Proposition 2.4.1 of [Cre97a]. □

There are other lists of matrices, due to Merel, that work even when p | N (see Section 8.3.2).

The command HeilbronnCremonaList(p), for p prime, outputs the list of matrices from Algorithm 3.16.

sage: HeilbronnCremonaList(2)
[[1, 0, 0, 2], [2, 0, 0, 1], [2, 1, 0, 1], [1, 0, 1, 2]]
sage: HeilbronnCremonaList(3)
[[1, 0, 0, 3], [3, 1, 0, 1], [1, 0, 1, 3], [3, 0, 0, 1],
 [3, -1, 0, 1], [-1, 0, 1, -3]]
sage: HeilbronnCremonaList(5)
[[1, 0, 0, 5], [5, 2, 0, 1], [2, 1, 1, 3], [1, 0, 3, 5],
 [5, 1, 0, 1], [1, 0, 1, 5], [5, 0, 0, 1], [5, -1, 0, 1],
 [-1, 0, 1, -5], [5, -2, 0, 1], [-2, 1, 1, -3], [1, 0, -3, 5]]
sage: len(HeilbronnCremonaList(97))
392

Example 3.18. We compute the matrix of T_{2} on 𝕄_{2}(Γ_{0}(2)):

sage: M = ModularSymbols(2,2)
sage: M.T(2).matrix()
[1]

Example 3.19. We compute Hecke operators on 𝕄_{2}(Γ_{0}(6)):

sage: M = ModularSymbols(6, 2)
sage: M.T(2).matrix()
[ 2  1 -1]
[-1  0  1]
[-1 -1  2]
sage: M.T(3).matrix()
[3 2 0]
[0 1 0]
[2 2 1]

In fact for p ≥ 5 we have T_{p} = p + 1, since M_{2}(Γ_{0}(6)) is spanned by generalized Eisenstein series (see Chapter 5).

Example 3.20. We compute the Hecke operators on 𝕄_{2}(Γ_{0}(39)):

50 3. Modular Forms of Weight Two

sage: M = ModularSymbols(39, 2)
sage: T2 = M.T(2)
sage: T2.matrix()
[ 3  0 -1  0  0  1  1 -1  0]
[ 0  0  2  0 -1  1  0  1 -1]
[ 0  1  0 -1  1  1  0  1 -1]
[ 0  0  1  0  0  1  0  1 -1]
[ 0 -1  2  0  0  1  0  1 -1]
[ 0  0  1  1  0  1  1 -1  0]
[ 0  0  0 -1  0  1  1  2  0]
[ 0  0  0  1  0  0  2  0  1]
[ 0  0 -1  0  0  0  1  0  2]
sage: factor(T2.charpoly())
(x - 3)^3 * (x - 1)^2 * (x^2 + 2*x - 1)^2

Notice that the Hecke operators commute, so their eigenspace structure is similar.

sage: T2 = M.T(2).matrix()
sage: T5 = M.T(5).matrix()
sage: T2*T5 - T5*T2 == 0
True
sage: T5.charpoly().factor()
(x - 6)^3 * (x - 2)^2 * (x^2 - 8)^2

The rational decomposition of T_{2} is a list of the kernels of (f^{e})(T_{2}), where f runs through the irreducible factors of the characteristic polynomial of T_{2} and f^{e} exactly divides this characteristic polynomial. Using SAGE we find them:

sage: M = ModularSymbols(39, 2)
sage: M.T(2).decomposition()
[
Modular Symbols subspace of dimension 3 of Modular Symbols
space of dimension 9 for Gamma_0(39) of weight 2 with sign 0
over Rational Field,
Modular Symbols subspace of dimension 2 of Modular Symbols
space of dimension 9 for Gamma_0(39) of weight 2 with sign 0
over Rational Field,
Modular Symbols subspace of dimension 4 of Modular Symbols
space of dimension 9 for Gamma_0(39) of weight 2 with sign 0
over Rational Field
]

3.5. Computing the Boundary Map

In Section 3.2 we defined a map δ : 𝕄_{2}(Γ_{0}(N)) → 𝔹_{2}(Γ_{0}(N)). The kernel of this map is the space 𝕊_{2}(Γ_{0}(N)) of cuspidal modular symbols. This kernel will be important in computing cusp forms in Section 3.7 below.

To compute the boundary map on [γ], note that [γ] = {γ(0), γ(∞)}, so

if γ = ( \begin{matrix}a & b \\ c & d \end{matrix} ), then

δ([γ]) = {γ(∞)} − {γ(0)} = {a/c} − {b/d}.

Computing this boundary map would appear to first require an algorithm to compute the set C(Γ_{0}(N)) = Γ_{0}(N)\ℙ^{1}(ℚ) of cusps for Γ_{0}(N). In fact, there is a trick to compute the set of cusps in the course of running the algorithm. First, give an algorithm for deciding whether or not two elements of ℙ^{1}(ℚ) are equivalent modulo the action of Γ_{0}(N). Then simply construct C(Γ_{0}(N)) in the course of computing the boundary map, i.e., keep a list of cusps found so far, and whenever a new cusp class is discovered add it to the list. The following proposition, which is proved in [Cre97a, Prop. 2.2.3], explains how to determine whether two cusps are equivalent.

Proposition 3.21 (Cremona). Let (c_{i}, d_{i}), i = 1, 2 be pairs of integers with gcd(c_{i}, d_{i}) = 1, and possibly d_{i} = 0. There is g ∈ Γ_{0}(N) such that g(c_{1}/d_{1}) = c_{2}/d_{2} in ℙ^{1}(ℚ) if and only if

s_{1}d_{2} ≡ s_{2}d_{1} (mod gcd(d_{1}d_{2}, N))

where s_{j} satisfies c_{j}s_{j} ≡ 1 (mod d_{j}).

In SAGE the command boundary map() computes the boundary map from 𝕄_{2}(Γ_{0}(N)) to 𝔹_{2}(Γ_{0}(N)), and the cuspidal submodule() command computes its kernel. For example, for level 2 the boundary map is given by the matrix [1 − 1], and its kernel is the 0 space:

     sage: M = ModularSymbols(2, 2)
     sage: M.boundary_map()
     Hecke module morphism boundary map defined by the matrix
     [ 1 -1]
     Domain: Modular Symbols space of dimension 1 for Gamma_0(2)
     of weight ...
     Codomain: Space of Boundary Modular Symbols for Congruence
     Subgroup Gamma0(2) ...
     sage: M.cuspidal_submodule()
     Modular Symbols subspace of dimension 0 of Modular Symbols
     space of dimension 1 for Gamma_0(2) of weight 2 with sign 0
     over Rational Field

The smallest level for which the boundary map has nontrivial kernel, i.e., for which 𝕊_{2}(Γ_{0}(N)) ≠ 0, is N = 11.

sage: M = ModularSymbols(11, 2)
sage: M.boundary_map().matrix()
[ 1 -1]
[ 0  0]
[ 0  0]
sage: M.cuspidal_submodule()
Modular Symbols subspace of dimension 2 of Modular Symbols
space of dimension 3 for Gamma_0(11) of weight 2 with sign 0
over Rational Field
sage: S = M.cuspidal_submodule(); S
Modular Symbols subspace of dimension 2 of Modular Symbols
space of dimension 3 for Gamma_0(11) of weight 2 with sign 0
over Rational Field
sage: S.basis()
((1,8), (1,9))

The following illustrates that the Hecke operators preserve 𝕊_{2}(Γ_{0}(N)):

sage: S.T(2).matrix()
[-2  0]
[ 0 -2]
sage: S.T(3).matrix()
[-1  0]
[ 0 -1]
sage: S.T(5).matrix()
[1 0]
[0 1]

A nontrivial fact is that for p prime the eigenvalue of each of these matrices is p + 1 − #E(𝔽_{p}), where E is the elliptic curve X_{0}(11) defined by the (affine) equation y^{2} + y = x^{3} − x^{2} − 10x − 20. For example, we have:

sage: E = EllipticCurve([0,-1,1,-10,-20])

sage: 2 + 1 - E.Np(2)
-2
sage: 3 + 1 - E.Np(3)
-1
sage: 5 + 1 - E.Np(5)

3.6. Computing a Basis for S_{2}(Γ_{0}(N)) 53

Amazingly, the same numbers appear as the eigenvalues of Hecke operators:

     sage: [S.T(p).matrix()[0,0] for p in [2,3,5]]
     [-2, -1, 1]

In fact, something similar happens for every elliptic curve over ℚ. The book [DS05] (especially Chapter 8) is about this striking numerical relationship between the number of points on elliptic curves modulo p and coefficients of modular forms.

3.6. Computing a Basis for S_{2}(Γ_{0}(N))

This section is about a method for using modular symbols to compute a basis for S_{2}(Γ_{0}(N)). It is not the most efficient for certain applications, but it is easy to explain and understand. See Section 3.7 for a method that takes advantage of deeper structure of S_{2}(Γ_{0}(N)).

Let 𝕄_{2}(Γ_{0}(N); ℚ) and 𝕊_{2}(Γ_{0}(N); ℚ) be the spaces of modular symbols and cuspidal modular symbols over ℚ. Before we begin, we describe a simple but crucial fact about the relation between cusp forms and Hecke operators.

If f = ∑ b_{n}q^{n} ∈ ℂ[[q]] is a power series, let a_{n}(f) = b_{n} be the n coefficient of f. Notice that a_{n} is a ℂ-linear map ℂ[[q]] → ℂ.

As explained in [DS05, Prop. 5.3.1] and [Lan95, §VII.3] (recall also 2.30), the Hecke operators T_{n} act on elements of M_{2}(Γ_{0}(N)) as follows (where k = 2 below):

(3.6.1) T_{n} (∑_{m=0}^{∞} a_{m}q^{m}) = ∑_{m=0}^{∞} ( ∑_{1≤d | gcd(n,m)} ε(d) · d^{k−1} · a_{mn/d^{2}} ) q^{m},

where ε(d) = 1 if gcd(d, N) = 1 and ε(d) = 0 if gcd(d, N) ≠ 1. (Note: More generally, if f ∈ M_{k}(Γ_{1}(N)) is a modular form with Dirichlet character ε, then the above formula holds; above we are considering this formula in the special case when ε is the trivial character and k = 2.)

Lemma 3.22. Suppose f ∈ ℂ[[q]] and n is a positive integer. Let T_{n} be the operator on q-expansions (formal power series) defined by (3.6.1). Then

a_{1}(T_{n}(f)) = a_{n}(f).

Proof. The coefficient of q in (3.6.1) is ε(1) · 1 · a_{1·n/1^{2}} = a_{n}. □

The Hecke algebra 𝕋 is the ring generated by all Hecke operators T_{n} acting on M_{k}(Γ_{1}(N)). Let 𝕋′ denote the image of the Hecke algebra in End(S_{2}(Γ_{0}(N))), and let 𝕋′_{ℂ} = 𝕋′⊗_{ℤ}ℂ be the ℂ-span of the Hecke operators.

Let 𝕋̃_{ℂ} denote the subring of End(ℂ[[q]]) generated over ℂ by all Hecke operators acting on formal power series via definition (3.6.1).

Proposition 3.23. There is a bilinear pairing of complex vector spaces

ℂ[[q]] × 𝕋̃_{ℂ} → ℂ

given by

⟨f, t⟩ = a_{1}(t(f)).

If f is such that ⟨f, t⟩ = 0 for all t ∈ 𝕋̃_{ℂ}, then f = 0.

Proof. The pairing is bilinear since both t and a_{1} are linear.

Suppose f ∈ ℂ[[q]] is such that ⟨f, t⟩ = 0 for all t ∈ 𝕋̃_{ℂ}. Then ⟨f, T_{n}⟩ = 0 for each positive integer n. But by Lemma 3.22 we have

a_{n}(f) = a_{1}(T_{n}(f)) = 0

for all n; thus f = 0. □

Proposition 3.24. There is a perfect bilinear pairing of complex vector spaces

S_{2}(Γ_{0}(N)) × 𝕋′_{ℂ} → ℂ

given by

⟨f, t⟩ = a_{1}(t(f)).

Proof. The pairing has 0 kernel on the left by Proposition 3.23. Suppose that t ∈ 𝕋′_{ℂ} is such that ⟨f, t⟩ = 0 for all f ∈ S_{2}(Γ_{0}(N)). Then a_{1}(t(f)) = 0 for all f. For any n, the image T_{n}(f) is also a cusp form, so a_{1}(t(T_{n}(f))) = 0 for all n and f. Finally 𝕋′ is commutative and Lemma 3.22 together imply that for all n and f,

0 = a_{1}(t(T_{n}(f))) = a_{1}(T_{n}(t(f))) = a_{n}(t(f)),

so t(f) = 0 for all f. Thus t is the 0 operator.

Since S_{2}(Γ_{0}(N)) has finite dimension and the kernel on each side of the pairing is 0, it follows that the pairing is perfect, i.e., defines an isomorphism

𝕋′_{ℂ} ≅ Hom_{ℂ}(S_{2}(Γ_{0}(N)); ℂ).
□

By Proposition 3.24 there is an isomorphism of vector spaces

(3.6.2)  Ψ : S_{2}(Γ_{0}(N)) ⟶^{≅} Hom(𝕋′_{ℂ}, ℂ)

that sends f ∈ S_{2}(Γ_{0}(N)) to the homomorphism

t ↦ a_{1}(t(f)).

For any ℂ-linear map φ : 𝕋′_{ℂ} → ℂ, let

f_{φ} = ∑_{n=1}^{∞} φ(T_{n})q^{n} ∈ ℂ[[q]].

Lemma 3.25. The series f_{φ} is the q-expansion of Ψ^{−1}(φ) ∈ S_{2}(Γ_{0}(N)).

Proof. Note that it is not even a priori obvious that f_{φ} is the q-expansion of a modular form. Let g = Ψ^{−1}(φ), which is by definition the unique element of S_{2}(Γ_{0}(N)) such that ⟨g, T_{n}⟩ = φ(T_{n}) for all n. By Lemma 3.22, we have

⟨f_{φ}, T_{n}⟩ = a_{1}(T_{n}(f_{φ})) = a_{n}(f_{φ}) = φ(T_{n}),

so ⟨f_{φ} − g, T_{n}⟩ = 0 for all n. Proposition 3.23 implies that f_{φ} − g = 0, so f_{φ} = g = Ψ^{−1}(φ), as claimed. □

Conclusion: The cusp forms f_{φ}, as φ varies through a basis of Hom(𝕋′_{ℂ}, ℂ), form a basis for S_{2}(Γ_{0}(N)). In particular:

We can compute S_{2}(Γ_{0}(N)) by computing Hom(𝕋′_{ℂ}, ℂ), where we compute 𝕋′ in any way we want, e.g., using a space that contains an isomorphic copy of S_{2}(Γ_{0}(N)).

Algorithm 3.26 (Basis of Cusp Forms). Given positive integers N and B, this algorithm computes a basis for S_{2}(Γ_{0}(N)) to precision O(q^{B}).

(1) Compute 𝕄_{2}(Γ_{0}(N); ℚ) via the presentation of Section 3.3.2.

(2) Compute the subspace 𝕊_{2}(Γ_{0}(N); ℚ) of cuspidal modular symbols as in Section 3.5.

(3) Let d = \frac{1}{2} ·dim 𝕊_{2}(Γ_{0}(N); ℚ). By Proposition 3.8, d is the dimension of S_{2}(Γ_{0}(N)).

(4) Let [T_{n}] denote the matrix of T_{n} acting on a basis of 𝕊_{2}(Γ_{0}(N); ℚ). For a matrix A, let a_{ij}(A) denote the ij-th entry of A. For various integers i, j with 0 ≤ i, j ≤ d − 1, compute formal q-expansions

f_{ij}(q) = ∑_{n=1}^{B−1} a_{ij}([T_{n}])q^{n} + O(q^{B}) ∈ ℚ[[q]]

until we find enough to span a space of dimension d (or exhaust all of them). These f_{ij} then form a basis for S_{2}(Γ_{0}(N)) to precision O(q^{B}).

3.6.1. Examples. We use SAGE to demonstrate Algorithm 3.26.

Example 3.27. The smallest N with S_{2}(Γ_{0}(N)) ≠ 0 is N = 11.

sage: M = ModularSymbols(11); M.basis()
((1,0), (1,8), (1,9))
sage: S = M.cuspidal_submodule(); S
Modular Symbols subspace of dimension 2 of Modular Symbols
space of dimension 3 for Gamma_0(11) of weight 2 with sign 0
over Rational Field

We compute a few Hecke operators, then read off a nonzero cusp form, which forms a basis for S_{2}(Γ_{0}(11)):

sage: S.T(2).matrix()
[-2  0]
[ 0 -2]
sage: S.T(3).matrix()
[-1  0]
[ 0 -1]

Thus

f_{0,0} = q − 2q^{2} − q^{3} + ⋯ ∈ S_{2}(Γ_{0}(11))

forms a basis for S_{2}(Γ_{0}(11)).

Example 3.28. We compute a basis for S_{2}(Γ_{0}(33)) to precision O(q^{6}).

sage: M = ModularSymbols(33)
sage: S = M.cuspidal_submodule(); S
Modular Symbols subspace of dimension 6 of Modular Symbols
space of dimension 9 for Gamma_0(33) of weight 2 with sign 0
over Rational Field

Thus dim S_{2}(Γ_{0}(33)) = 3.

sage: R.<q> = PowerSeriesRing(QQ)
sage: v = [S.T(n).matrix()[0,0] for n in range(1,6)]
sage: f00 = sum(v[n-1]*q^n for n in range(1,6)) + O(q^6)
sage: f00
q - q^2 - q^3 + q^4 + O(q^6)

This gives us one basis element of S_{2}(Γ_{0}(33)). It remains to find two others. We find

     sage: v = [S.T(n).matrix()[0,1] for n in range(1,6)]
     sage: f01 = sum(v[n-1]*q^n for n in range(1,6)) + O(q^6)
     sage: f01
     -2*q^3 + O(q^6)

and

     sage: v = [S.T(n).matrix()[1,0] for n in range(1,6)]
     sage: f10 = sum(v[n-1]*q^n for n in range(1,6)) + O(q^6)
     sage: f10
     q^3 + O(q^6)

This third one is (to our precision) a scalar multiple of the second, so we look further.

     sage: v = [S.T(n).matrix()[1,1] for n in range(1,6)]
     sage: f11 = sum(v[n-1]*q^n for n in range(1,6)) + O(q^6)
     sage: f11
     q - 2*q^2 + 2*q^4 + q^5 + O(q^6)

This latter form is clearly not in the span of the first two. Thus we have the following basis for S_{2}(Γ_{0}(33)) (to precision O(q^{6})):

f_{00} = q − q^{2} − q^{3} + q^{4} + ⋯
f_{11} = q − 2q^{2} + 2q^{4} + q^{5} + ⋯
f_{10} = q^{3} + ⋯

Example 3.29. Next consider N = 23, where we have

d = dim S_{2}(Γ_{0}(23)) = 2.

The command q expansion cuspforms computes matrices T_{n} and returns a function f such that f(i, j) is the q-expansion of f_{i,j} to some precision. (Note: for efficiency reasons, f(i, j) in SAGE actually computes matrices of T_{n} acting on a basis for the linear dual of 𝕊_{2}(Γ_{0}(N)).)

     sage: M = ModularSymbols(23)
     sage: S = M.cuspidal_submodule()
     sage: S
     Modular Symbols subspace of dimension 4 of Modular Symbols
     space of dimension 5 for Gamma_0(23) of weight 2 with sign 0
     over Rational Field
     sage: f = S.q_expansion_cuspforms(6)
     sage: f(0,0)
     q - 2/3*q^2 + 1/3*q^3 - 1/3*q^4 - 4/3*q^5 + O(q^6)
     sage: f(0,1)
     O(q^6)
     sage: f(1,0)
     -1/3*q^2 + 2/3*q^3 + 1/3*q^4 - 2/3*q^5 + O(q^6)

Thus a basis for S_{2}(Γ_{0}(23)) is

f_{0,0} = q − \frac{2}{3}q^{2} + \frac{1}{3}q^{3} − \frac{1}{3}q^{4} − \frac{4}{3}q^{5} + ⋯
f_{1,0} = −\frac{1}{3}q^{2} + \frac{2}{3}q^{3} + \frac{1}{3}q^{4} − \frac{2}{3}q^{5} + ⋯

Or, in echelon form,

q − q^{3} − q^{4} + ⋯
q^{2} − 2q^{3} − q^{4} + 2q^{5} + ⋯

which we computed using

     sage: S.q_expansion_basis(6)
     [
     q - q^3 - q^4 + O(q^6),
     q^2 - 2*q^3 - q^4 + 2*q^5 + O(q^6)
     ]

3.7. Computing S_{2}(Γ_{0}(N)) using eigenvectors

In this section we describe how to use modular symbols to construct a basis of S_{2}(Γ_{0}(N)) consisting of modular forms that are eigenvectors for every element of the ring 𝕋^{(N)} generated by the Hecke operator T_{p}, with p ∤ N. Such eigenvectors are called eigenforms.

Suppose M is a positive integer that divides N. As explained in [Lan95, VIII.1–2], for each divisor d of N/M there is a natural degeneracy map α_{M,d} : S_{2}(Γ_{0}(M)) → S_{2}(Γ_{0}(N)) given by α_{M,d}(f(q)) = f(q^{d}). The new subspace of S_{2}(Γ_{0}(N)), denoted S_{2}(Γ_{0}(N))_{new}, is the complementary 𝕋-submodule of the 𝕋-module generated by the images of all maps α_{M,d}, with M and d 3.7. Computing S_{2}(Γ_{0}(N)) using eigenvectors 59

as above. It is a nontrivial fact that this complement is well defined; one possible proof uses the Petersson inner product (see [Lan95, §VII.5]).

The theory of Atkin and Lehner [AL70] (see Theorem 9.4 below) asserts that, as a 𝕋^{(N)}-module, S_{2}(Γ_{0}(N)) decomposes as follows:

S_{2}(Γ_{0}(N)) = ⨁_{M|N, d|N/M} β_{M,d}(S_{2}(Γ_{0}(M))_{new}).

To compute S_{2}(Γ_{0}(N)) it suffices to compute S_{2}(Γ_{0}(M))_{new} for each M | N.

We now turn to the problem of computing S_{2}(Γ_{0}(N))_{new}. Atkin and Lehner [AL70] proved that S_{2}(Γ_{0}(N))_{new} is spanned by eigenforms for all T_{p} with p ∤ N, and that the common eigenspaces of all the T_{p} with p ∤ N each have dimension 1. Moreover, if f ∈ S_{2}(Γ_{0}(N))_{new} is an eigenform then the coefficient of q in the q-expansion of f is nonzero, so it is possible to normalize f so the coefficient of q is 1 (such a normalized eigenform in the new subspace is called a newform). With f so normalized, if T_{p}(f) = a_{p}f, then the pth Fourier coefficient of f is a_{p}. If f = ∑_{n=1}^{∞} a_{n}q^{n} is a normalized eigenvector for all T_{p}, then the a_{n}, with n composite, are determined by the a_{p}, with p prime, by the following formulas: a_{nm} = a_{n}a_{m} when n and m are relatively prime, and a_{p^{r}} = a_{p^{r−1}}a_{p} − pa_{p^{r−2}} for p ∤ N prime. When p | N, a_{p^{r}} = a_{p}^{r}. We conclude that in order to compute S_{2}(Γ_{0}(N))_{new}, it suffices to compute all systems of eigenvalues {a_{2}, a_{3}, a_{5}, …} of the prime-indexed Hecke operators T_{2}, T_{3}, T_{5}, … acting on S_{2}(Γ_{0}(N))_{new}. Given a system of eigenvalues, the corresponding eigenform is f = ∑_{n=1}^{∞} a_{n}q^{n}, where the a_{n}, for n composite, are determined by the recurrence given above.

In light of the pairing ⟨ , ⟩ introduced in Section 3.1, computing the above systems of eigenvalues {a_{2}, a_{3}, a_{5}, …} amounts to computing the systems of eigenvalues of the Hecke operators T_{p} on the subspace V of 𝕊_{2}(Γ_{0}(N)) that corresponds to the new subspace of S_{2}(Γ_{0}(N)). For each proper divisor M of N and each divisor d of N/M, let ϕ_{M,d} : 𝕊_{2}(Γ_{0}(N)) → 𝕊_{2}(Γ_{0}(M)) be the map sending x to ( \begin{matrix}d & 0 \\ 0 & 1 \end{matrix} ) x. Then V is the intersection of the kernels of all maps ϕ_{M,d}.

Computing the systems of eigenvalues of a collection of commuting diagonalizable endomorphisms is a problem in linear algebra (see Chapter 7).

Example 3.30. All forms in S_{2}(Γ_{0}(39)) are new. Up to Galois conjugacy, the eigenvalues of the Hecke operators T_{2}, T_{3}, T_{5}, and T_{7} on 𝕊_{2}(Γ_{0}(39)) are {1, −1, 2, −4} and {a, 1, −2a − 2, 2a + 2}, where a^{2} + 2a − 1 = 0. Each of these eigenvalues occur in 𝕊_{2}(Γ_{0}(39)) with multiplicity two; for example, the characteristic polynomial of T_{2} on 𝕊_{2}(Γ_{0}(39)) is (x − 1)^{2} · (x^{2} + 2x − 1)^{2}.

Thus S_{2}(Γ_{0}(39)) is spanned by

f_{1} = q + q^{2} − q^{3} − q^{4} + 2q^{5} − q^{6} − 4q^{7} + ⋯,
f_{2} = q + aq^{2} + q^{3} + (−2a − 1)q^{4} + (−2a − 2)q^{5} + aq^{6} + (2a + 2)q^{7} + ⋯,
f_{3} = q + σ(a)q^{2} + q^{3} + (−2σ(a) − 1)q^{4} + (−2σ(a) − 2)q^{5} + σ(a)q^{6} + ⋯,

where σ(a) is the other Gal(\overline{ℚ}/ℚ)-conjugate of a.

3.7.1. Summary. To compute the q-expansion of a basis for S_{2}(Γ_{0}(N)), we use the degeneracy maps so that we only have to solve the problem for S_{2}(Γ_{0}(M))_{new}, for all integers M | N. Using modular symbols, we compute all systems of eigenvalues {a_{2}, a_{3}, a_{5}, …}, then write down the corresponding eigenforms ∑ a_{n}q^{n}.

3.8. Exercises

3.1 Suppose that λ, λ′ ∈ 𝔥 are in the same orbit for the action of Γ_{0}(N), i.e., that there exists g ∈ Γ_{0}(N) such that g(λ) = λ′. Let Λ = ℤ + ℤλ and Λ′ = ℤ + ℤλ′. Prove that the pairs (ℂ/Λ, (\frac{1}{N} ℤ + Λ)/Λ) and (ℂ/Λ′, (\frac{1}{N} ℤ + Λ′)/Λ′) are isomorphic. (By an isomorphism (E, C) → (F, D) of pairs, we mean an isomorphism ϕ : E → F of elliptic curves that sends C to D. You may use the fact that an isomorphic of elliptic curves over ℂ is a ℂ-linear map ℂ → ℂ that sends the lattice corresponding to one curve onto the lattice corresponding to the other.)

3.2 Let n, m be integers and N a positive integer. Prove that the modular symbol {n, m} is 0 as an element of 𝕄_{2}(Γ_{0}(N)). [Hint: See Example 3.6.]

3.3 Let p be a prime.

(a) List representative elements of ℙ^{1}(ℤ/pℤ).

(b) What is the cardinality of ℙ^{1}(ℤ/pℤ) as a function of p?

(c) Prove that there is a bijection between the right cosets of Γ_{0}(p) in SL_{2}(ℤ) and the elements of ℙ^{1}(ℤ/pℤ) that sends ( \begin{matrix}a & b \\ c & d \end{matrix} ) to (c : d). (As mentioned in this chapter this is also true for composite level; see [Cre97a, §2.2] for complete details.)

3.4 Use the inductive proof of Proposition 3.11 to write {0, 4/7} in

terms of Manin symbols for Γ_{0}(7). 3.5 Show that the Hecke operator T_{2} acts as multiplication by 3 on the

space 𝕄_{2}(Γ_{0}(3)) as follows:

(a) Write down right coset representatives for Γ_{0}(3) in SL_{2}(ℤ).

(b) List all 8 relations coming from 3.13.

(c) Find a single Manin symbols [r_{i}] so that the three other Manin symbols are a nonzero multiple of [r_{i}] modulo the relations found in the previous step.

(d) Use formula (3.4.1) to compute T_{2}([r_{i}]). You will obtain a sum of four symbols. Using the relations above, write this sum as a multiple of [r_{i}]. (The multiple must be 3 or you made a mistake.)

Dirichlet Characters

In this chapter we develop a theory for computing with Dirichlet characters, which are extremely important to computations with modular forms for (at least) two reasons:

(1) To compute the Eisenstein subspace E_{k}(Γ_{1}(N)) of M_{k}(Γ_{1}(N)) we write down Eisenstein series attached to pairs of Dirichlet characters (the space E_{k}(Γ_{1}(N)) will be defined in Chapter 5).

(2) To compute S_{k}(Γ_{1}(N)), we instead compute a decomposition

M_{k}(Γ_{1}(N)) = ⨁ M_{k}(Γ_{1}(N), ε)

then compute each factor (see Section 9.1). Here the sum is over all Dirichlet characters ε of modulus N.

Dirichlet characters appear frequently in many other areas of number theory. For example, by the Kronecker-Weber theorem, Dirichlet characters correspond to the one-dimensional representations of Gal(\overline{ℚ}/ℚ).

After defining Dirichlet characters in Section 4.1, in Section 4.2 we describe a good way to represent Dirichlet characters using a computer. Section 4.3 is about how to evaluate Dirichlet characters, and leads naturally to a discussion of the baby-step giant-step algorithm for solving the discrete log problem and methods for efficiently computing the Kronecker symbol. In Section 4.4 we explain how to factor Dirichlet characters into their prime power constituents and apply this to the computations of conductors. We describe how to carry out a number of standard operations with Dirichlet characters in Section 4.6, and discuss alternative ways to represent them in Section 4.7. Finally, in Section 4.8 we give a very short tutorial about how to compute with Dirichlet characters using SAGE.

4.1. The Definition

Fix an integral domain R and a root ζ of unity in R.

Definition 4.1 (Dirichlet Character). A Dirichlet character of modulus N over R is a map ε : ℤ → R such that there is a homomorphism f : (ℤ/Nℤ)^{∗} → ⟨ζ⟩ for which

ε(a) = \begin{cases}0 & if gcd(a, N) > 1, \\ f (a mod N) & if gcd(a, N) = 1. \end{cases}

We denote the group of such Dirichlet characters by D(N, R). Note that elements of D(N, R) are in bijection with homomorphisms (ℤ/Nℤ)^{∗} → ⟨ζ⟩.

One familiar example of a Dirichlet character is the Legendre symbol (\frac{a}{p}), with p an odd prime, that appears in quadratic reciprocity theory. It is a Dirichlet character of modulus p that takes the value 1 on integers that are congruent to a nonzero square modulo p, the value −1 on integers that are congruent to a nonzero non-square modulo p, and 0 on integers divisible by p.

4.2. Representing Dirichlet Characters

Lemma 4.2. The groups (ℤ/Nℤ)^{∗} and D(N, ℂ) are isomorphic.

Proof. We prove the more general fact that for any finite abelian group G, we have that G ≈ Hom(G, ℂ^{∗}). To deduce this latter isomorphism, first reduce to the case when G is cyclic by writing G as a product of cyclic groups. The cyclic case follows because if G is cyclic of order n, then ℂ^{∗} contains an nth root of unity, so Hom(G, ℂ^{∗}) is also cyclic of order n. Any two cyclic groups of the same order are isomorphic, so G and Hom(G, ℂ^{∗}) are isomorphic. □

Corollary 4.3. We have #D(N, R) | φ(N), with equality if and only if the order of our choice of ζ ∈ R is a multiple of the exponent of the group (ℤ/Nℤ)^{∗}.

Proof. This is because #(ℤ/Nℤ)^{∗} = φ(N). □

Fix a positive integer N. To find the a set of “canonical” generators for the group (Z/NZ)^{∗}, write N = ∏_{i=0}^{n} p_{i}^{e_{i}} where p_{0} < p_{1} < ⋯ < p_{n} are the prime divisors of N. By Exercise 4.2, each factor (ℤ/p_{i}^{e_{i}}ℤ)^{∗} is a cyclic group C_{i} = ⟨g_{i}⟩, except if p_{0} = 2 and e_{0} ≥ 3, in which case (ℤ/p_{0}^{e_{0}}ℤ)^{∗} is a product of the cyclic subgroup C_{0} = ⟨−1⟩ of order 2 with the cyclic subgroup C_{1} = ⟨5⟩. In all cases we have

(ℤ/Nℤ)^{∗} ≅ ∏_{0≤i≤n} C_{i} = ∏_{0≤i≤n}⟨g_{i}⟩.

For i such that p_{i} > 2, choose the generator g_{i} of C_{i} to be the element of {2, 3, …, p_{i}^{e_{i}} − 1} that is smallest and generates. Finally, use the Chinese Remainder Theorem (see [Coh93, §1.3.3])) to lift each g_{i} to an element in (ℤ/Nℤ)^{∗}, also denoted g_{i}, that is 1 modulo each p_{j}^{e_{j}} for j ≠ i.

Algorithm 4.4 (Minimal generator for (ℤ/p^{r}ℤ)^{∗}). Given a prime power p^{r} with p odd, this algorithm computes the minimal generator of (ℤ/p^{r}ℤ)^{∗}.

(1) [Factor Group Order] Factor n = ϕ(p^{r}) = p^{r−1} · 2 · ((p − 1)/2) as a product ∏ p_{i}^{e_{i}} of primes. This is equivalent in difficulty to factoring (p − 1)/2. (See, e.g., [Coh93, Ch.8, Ch. 10] for an excellent discussion of factorization algorithms, though of course much progress has been made since then.)

(2) [Initialize] Set g = 2.

(3) [Generator?] Using the binary powering algorithm (see [Coh93, §1.2]), compute g^{n/p_{i}} (mod p^{r}), for each prime divisor p_{i} of n. If any of these powers are 1, then g is not a generator, so set g = g +1 and go to Step 2. If no powers are 1, output g and terminate.

See Exercise 4.3 for a proof that this algorithm is correct.

Example 4.5. A minimal generator for (ℤ/49ℤ)^{∗} is 3. We have n = φ(49) = 42 = 2 · 3 · 7, and

2^{n/2} ≡ 1,  2^{n/3} ≡ 18,  2^{n/7} ≡ 15 (mod 49),

so 2 is not a generator for (ℤ/49ℤ)^{∗}. (We see this just from 2^{n/2} ≡ 1 (mod 49).) However 3 is since

3^{n/2} ≡ 48,  3^{n/3} ≡ 30,  3^{n/7} ≡ 43 (mod 49).

Example 4.6. In this example we compute minimal generators for N = 25, 100, and 200:

(1) The minimal generator for (ℤ/25ℤ)^{∗} is 2.

(2) The minimal generators for (ℤ/100ℤ)^{∗}, lifted to numbers modulo 100, are g_{0} = 51 and g_{1} = 77. Notice that g_{0} ≡ −1 (mod 4) and g_{0} ≡ 1 (mod 25), and g_{1} ≡ 2 (mod 25) is the minimal generator modulo 25.

(3) The minimal generators for (ℤ/200ℤ)^{∗}, lifted to numbers modulo 200, are g_{0} = 151, g_{1} = 101, and g_{2} = 177. Note that g_{0} ≡ −1 (mod 4), that g_{1} ≡ 5 (mod 8), and g_{2} ≡ 2 (mod 25).

In SAGE, the command Integers(N) creates ℤ/Nℤ.

     sage: R = Integers(49)
     sage: R
     Ring of integers modulo 49

The unit gens command computes the minimal generators for (ℤ/Nℤ)^{∗}, as defined above.

     sage: R.unit_gens()
     [3]
     sage: Integers(25).unit_gens()
     [2]
     sage: Integers(100).unit_gens()
     [51, 77]
     sage: Integers(200).unit_gens()
     [151, 101, 177]
     sage: Integers(2005).unit_gens()
     [402, 1206]
     sage: Integers(200000000).unit_gens()
     [174218751, 51562501, 187109377]

Fix an element ζ of finite multiplicative order in a ring R, and let D(N, R) denote the group of Dirichlet characters of modulus N over R, with image in ⟨ζ⟩ ∪ {0}. We specify an element ε ∈ D(N, R) by giving the list

(4.2.1)  [ε(g_{0}), ε(g_{1}), …, ε(g_{n})]

of images of the generators of (ℤ/Nℤ)^{∗}. (Note that if N is even, the number of elements of the list (4.2.1) does depend on whether or not 8 | N—there are two factors corresponding to 2 if 8 | N, but only one if 8 ∤ N.) This representation completely determines ε and is convenient for arithmetic operations. It is analogous to representing a linear transformation by a matrix. See Section 4.7 for a discussion of alternative ways to represent characters.

Example 4.7. The group D(5, ℂ) has elements {[1], [i], [−1], [−i]}, so is cyclic of order φ(5) = 4. In contrast, the group D(5, ℚ) has only the two elements [1] and [−1] and order 2. The command DirichletGroup(N) with no second argument creates the group of Dirichlet characters with values in the cyclotomic field ℚ(ζ_{n}), where n is the exponent of the group (ℤ/Nℤ)^{∗}. Every element in D(N, ℂ) takes values in ℚ(ζ_{n}), so D(N, ℚ(ζ_{n})) ≈ D(N, ℂ).

     sage: list(DirichletGroup(5))
     [[1], [zeta4], [-1], [-zeta4]]
     sage: list(DirichletGroup(5, QQ))
     [[1], [-1]]

4.3. Evaluation of Dirichlet Characters

This section is about how to compute ε(n), where ε is a Dirichlet character and n is an integer. We begin with an example.

Example 4.8. If N = 200, then g_{0} = 151, g_{1} = 101 and g_{2} = 177, as we saw in Example 4.6. The exponent of (ℤ/200ℤ)^{∗} is 20, since that is the least common multiple of the exponents of 4 = #(ℤ/8ℤ)^{∗} and 20 = #(ℤ/25ℤ)^{∗}. The orders of g_{0}, g_{1} and g_{2} are 2, 2, and 20. Let ζ = ζ_{20} be a primitive 20th root of unity in ℂ. Then the following are generators for D(200, ℂ):

ε_{0} = [−1, 1, 1],  ε_{1} = [1, −1, 1],  ε_{2} = [1, 1, ζ],

and ε = [1, −1, ζ^{5}] is an example element of order 4. To evaluate ε(3), we write 3 in terms of g_{0}, g_{1}, and g_{2}. First, reducing 3 modulo 8, we see that 3 ≡ g_{0}·g_{1} (mod 8). Next reducing 3 modulo 25, and trying powers of g_{2} = 2, we find that e ≡ g_{2}^{7} (mod 25). Thus

ε(3) = ε(g_{0} · g_{1} · g_{2}^{7})
= ε(g_{0})ε(g_{1})ε(g_{2})^{7}
= 1 · (−1) · (ζ^{5})^{7}
= −ζ^{35} = −ζ^{15}.

We next illustrate the above computation of ε(3) in SAGE. First we make the group D(200, ℚ(ζ_{8})), and list its generators.

     sage: G = DirichletGroup(200)
     sage: G
     Group of Dirichlet characters of modulus 200 over Cyclotomic
     Field of order 20 and degree 8
     sage: G.exponent()
     20
     sage: G.gens()
     ([-1, 1, 1], [1, -1, 1], [1, 1, zeta20])

We construct ε.

     sage: K.<zeta> = G.base_ring()
     sage: eps = G([1,-1,zeta^5])
     sage: eps
     [1, -1, zeta^5]

Finally, we evaluate ε at 3.

     sage: eps(3)
     zeta^5
     sage: -zeta^15
     zeta^5

Example 4.8 illustrates that if ε is represented using a list as described above, evaluation of ε is inefficient without extra information; it requires solving the discrete log problem in (ℤ/Nℤ)^{∗}.

Remark 4.9. For a general character ε, is calculation of ε at least as hard as finding discrete logarithms? Quadratic characters are easier—see Algorithm 4.22.

Algorithm 4.10 (Evaluate ε). Given a Dirichlet character ε of modulus N, represented by a list [ε(g_{0}), ε(g_{1}), …, ε(g_{n})], and an integer a, this algorithm computes ε(a).

(1) [GCD] Compute g = gcd(a, N). If g > 1, output 0 and terminate.

(2) [Discrete Log] For each i, write a (mod p_{i}^{e_{i}}) as a power m_{i} of g_{i} using some algorithm for solving the discrete log problem (see below). If p_{i} = 2, write a (mod p_{i}^{e_{i}}) as (−1)^{m_{0}} · 5^{m_{1}}. (This step is analogous to writing a vector in terms of a basis.)

(3) [Multiply] Output ∏ ε(g_{i})^{m_{i}} as an element of R, and terminate. (This is analogous to multiplying a matrix times a vector.)

4.3.1. The Discrete Log Problem. Exercise 4.4 gives an isomorphism of groups

(1 + p^{n−1}(ℤ/p^{n}ℤ), ×) ≅ (ℤ/pℤ, +),

so one sees by induction that Step 2 is “about as difficult” as finding a discrete log in (ℤ/pℤ)^{∗}. There is an algorithm called “baby-step giantstep”, which solves the discrete log problem in (ℤ/pℤ)^{∗} in time O(\sqrt{ℓ}), where ℓ is the largest prime factor of p − 1 = #(ℤ/pℤ)^{∗} (note that the discrete log problem in (ℤ/pℤ)^{∗} reduces to a series of discrete log problems in each prime-order cyclic factor). This is unfortunately still exponential in the number of digits of ℓ; it also uses O(\sqrt{ℓ}) memory. We now describe this algorithm without any specific optimizations.

Algorithm 4.11 (Baby-Step Giant-Step Discrete Log). Given a prime p, a generator g of (ℤ/pℤ)^{∗}, and an element a ∈ (ℤ/pℤ)^{∗}, this algorithm finds an n such that g^{n} = a. (Note that this algorithm works in any cyclic group, not just (ℤ/pℤ)^{∗}.)

(1) [Make Lists] Let m = ⌈\sqrt{p}⌉ be the ceiling of \sqrt{p}, and construct two lists

1, g^{m}, …, g^{(m−1)m} (giant steps)

and

a, ag, ag^{2}, …, ag^{m−1} (baby steps).

(2) [Find Match] Sort the two lists and find a match g^{im} = ag^{j}. Then a = g^{im−j}.

Proof. We prove that there will always be a match. Since we know that a = g^{k} for some k with 0 ≤ k ≤ p − 1 and any such k can be written in the form im − j for 0 ≤ i, j ≤ m − 1, we will find such a match. □

Algorithm 4.11 uses nothing special about (ℤ/pℤ)^{∗}, so it works in a generic group. It is a theorem that there is no faster algorithm to find discrete logs in a “generic group” (see [Sho97, Nec94]). There are much better subexponential algorithms for solving the discrete log problem in (ℤ/pℤ)^{∗}, which use the special structure of this group. They use the number field sieve (see e.g., [Gor93]), which is also the best known algorithm for factoring integers. This class of algorithms has been very well studied by cryptographers; though sub-exponential, solving discrete log problems when p is large is still extremely difficult. For a more in-depth survey see [Gor04]. For computing Dirichlet characters in our context, p is not too large, so Algorithm 4.11 works well.

4.3.2. Enumeration of All Values. For many applications of Dirichlet characters to computing modular forms N is fairly small, e.g., N < 10^{6}, and we evaluate ε on a huge number of random elements, inside inner loops of algorithms. Thus for such purposes it will often be better to make a table of all values of ε, so that evaluation of ε is extremely fast. The following algorithm computes a table of all values of ε, and it does not require computing any discrete logs since we are computing all values.

Algorithm 4.12 (Values of ε). Given a Dirichlet character ε represented by the list of values of ε on the minimal generators g_{i} of (ℤ/Nℤ)^{∗}, this algorithm creates a list of all the values of ε.

(1) [Initialize] For each minimal generator g_{i}, set a_{i} = 0. Let n = ∏ g_{i}^{a_{i}}, and set z = 1. Create a list v of N values, all initially set equal to 0. When this algorithm terminates the list v will have the property that

v [x (mod N)] = ε(x).

Notice that we index v starting at 0.

(2) [Add Value to Table] Set v[n] = z.

(3) [Finished?] If each a_{i} is one less than the order of g_{i}, output v and terminate.

(4) [Increment] Set a_{0} = a_{0}+1, n = n·g_{0} (mod N), and z = z·ε(g_{0}). If a_{0} ≥ ord(g_{0}), set a_{0} → 0, then set a_{1} = a_{1} + 1, n = n · g_{1} (mod N), and z = z ·ε(g_{1}). If a_{1} ≥ ord(g_{1}), do what you just did with a_{0}, but with all subscripts replaced by 1. Etc. (Imagine a car odometer.) Go to Step 2.

4.4. Conductors of Dirichlet Characters

The following algorithm for computing the order of ε reduces the problem to computing the orders of powers of ζ in R.

Algorithm 4.13 (Order of Character). This algorithm computes the order of a Dirichlet character ε ∈ D(N, R).

(1) Compute the order r_{i} of each ε(g_{i}), for each minimal generator g_{i} of (ℤ/Nℤ)^{∗}. Since the order of ε(g_{i}) is divisor of n = #(ℤ/p_{i}^{e_{i}}ℤ)^{∗}, we can compute its order by factoring n and considering the divisors of n.

(2) Compute and output the least common multiple of the integers r_{i}.

Remark 4.14. Computing the order of ε(g_{i}) ∈ R is potentially difficult. Simultaneously using a different representation of Dirichlet characters avoids having to compute the order of elements of R (see Section 4.7).

The next algorithm factors ε as a product of “local” characters, one for each prime divisor of N. It is useful for other algorithms, e.g., for explicit computations with trace formulas (see [Hij74]). This factorization is easy to compute because of how we represent ε.

Algorithm 4.15 (Factorization of Character). Given a Dirichlet character ε ∈ D(N, R), with N = ∏ p_{i}^{e_{i}}, this algorithm finds Dirichlet characters ε_{i} modulo p_{i}^{e_{i}}, such that for all a ∈ (ℤ/Nℤ)^{∗}, we have ε(a) = ∏ ε_{i}(a(mod p_{i}^{e_{i}})). If 2 | N, the steps are as follows:

(1) Let g_{i} be the minimal generators of (ℤ/Nℤ)^{∗}, so ε is given by a list

[ε(g_{0}), …, ε(g_{n})].

(2) For i = 2, …, n, let ε_{i} be the element of D(p_{i}^{e_{i}}, R) defined by the singleton list [ε(g_{i})].

(3) Let ε_{1} be the element of D(2^{e_{1}}, R) defined by the list [ε(g_{0}), ε(g_{1})] of length 2. Output the ε_{i} and terminate.

If 2 ∤ N, then omit Step 3, and include all i in Step 2.

The factorization of Algorithm 4.15 is unique since each ε_{i} is determined by the image of the canonical map (ℤ/p_{i}^{e_{i}}ℤ)^{∗} in (ℤ/Nℤ)^{∗}, which sends a (mod p_{i}^{e_{i}}) to the element of (ℤ/Nℤ)^{∗} that is a (mod p_{i}^{e_{i}}) and 1 (mod p_{j}^{e_{j}}) for j ≠ i.

Example 4.16. If ε = [1, −1, ζ^{5}] ∈ D(200, ℂ), then ε_{1} = [1, −1] ∈ D(8, ℂ) and ε_{2} = [ζ^{5}] ∈ D(25, ℂ).

Definition 4.17 (Conductor). The conductor of a Dirichlet character ε ∈ D(N, R) is the smallest positive divisor c | N such that there is a character ε′ ∈ D(c, R) for which ε(a) = ε′(a) for all a ∈ ℤ with (a, N) = 1. A Dirichlet character is primitive if its modulus equals its conductor. The character ε′ associated to ε with modulus equal to the conductor of ε is called the primitive character associated to ε.

We will be interested in conductors later, when computing new subspaces of spaces of modular forms with character. Also certain formulas for special values of L functions are only valid for primitive characters.

Algorithm 4.18 (Conductor). This algorithm computes the conductor of a Dirichlet character ε ∈ D(N, R).

(1) [Factor Character] Using Algorithm 4.15, find characters ε_{i} whose product is ε.

(2) [Compute Orders] Using Algorithm 4.13, compute the orders r_{i} of each ε_{i}.

(3) [Conductors of Factors] For each i, either set c_{i} → 1 if ε_{i} is the trivial character (i.e., of order 1), or set c_{i} = p_{i}^{ord_{p_{i}}(r_{i})+1}, where ord_{p}(n) is the largest power of p that divides n.

(4) [Adjust at 2?] If p_{1} = 2 and ε_{1}(5) ≠ 1, set c_{1} = 2c_{1}.

(5) [Finished] Output c = ∏ c_{i} and terminate.

Proof. Let ε_{i} be the local factors of ε, as in Step 1. We first show that the product of the conductors f_{i} of the ε_{i} is the conductor f of ε. Since ε_{i} factors through (ℤ/f_{i}ℤ)^{∗}, the product ε of the ε_{i} factors through (ℤ/ ∏ f_{i}ℤ)^{∗}, so the conductor of ε divides ∏ f_{i}. Conversely, if ord_{p_{i}}(f) < ord_{p_{i}}(f_{i}) for some i, then we could factor ε as a product of local (prime power) characters differently, which contradicts that this factorization is unique.

It remains to prove that if ε is a nontrivial character of modulus p^{n}, where p is a prime, and r is the order of ε, then the conductor of ε is p^{ord_{p}(r)+1}, except possibly if 8 | p^{n}. Since the order and conductor of ε and of the associated primitive character ε′ are the same, we may assume ε is primitive, i.e., that p^{n} is the conductor of ε; note that n > 0, since ε is nontrivial.

First suppose p is odd. Then the abelian group D(p^{n}, R) splits as a direct sum D(p, R) ⊕ D(p^{n}, R)′, where D(p^{n}, R)′ is the p-power torsion subgroup of D(p^{n}, R). Also ε has order u · p^{m}, where u, which is coprime to p, is the order of the image of ε in D(p, R) and p^{m} is the order of the image in D(p^{n}, R)′. If m = 0, then the order of ε is coprime to p, so ε is in D(p, R), which means that n = 1, so n = m + 1, as required. If m > 0, then ζ ∈ R must have order divisible by p, so R has characteristic not equal to p. The conductor of ε does not change if we adjoin roots of unity to R, so in light of Lemma 4.2 we may assume that D(N, R) ≈ (ℤ/Nℤ)^{∗}. It follows that for each n′ ≤ n, the p-power subgroup D(p^{n′}, R)′ of D(p^{n′}, R) is the p^{n′−1}-torsion subgroup of D(p^{n}, R)′. Thus m = n − 1, since D(p^{n}, R)′ is by assumption the smallest such group that contains the projection of ε. This proves the formula of Step 3. We leave the argument when p = 2 as an exercise (see Exercise 4.5). □

Example 4.19. If ε = [1, −1, ζ^{5}] ∈ D(200, ℂ), then as in Example 4.16, ε is the product of ε_{1} = [1, −1] and ε_{2} = [ζ^{5}]. Because ε_{1}(5) = −1, the conductor of ε_{1} is 8. The order of ε_{2} is 4 (since ζ is a 20th root of unity), so the conductor of ε_{2} is 5. Thus the conductor of ε is 40 = 8 · 5.

4.5. The Kronecker Symbol

In this section all characters have values in ℂ.

Frequently quadratic characters are described in terms of the Kronecker symbol (\frac{a}{n}), which we define for any integer a and positive integer n as follows. First, if n = p is an odd prime, then for any integer a,

(\frac{a}{p}) = \begin{cases}0 & if gcd(a, p) ≠ 1, \\ 1 & if a is a square mod p, \\ −1 & if a is not a square mod p. \end{cases}

If p = 2, then

(\frac{a}{2}) = \begin{cases}0 & if a is even, \\ 1 & if a ≡ ±1 (mod 8), \\ −1 & if a ≡ ±3 (mod 8). \end{cases}

More generally, if n = ∏ p_{i}^{e_{i}} with the p_{i} prime, then

(\frac{a}{n}) = ∏ (\frac{a}{p_{i}} )^{e_{i}} .

Remark 4.20. One can also extend (\frac{a}{n}) to n < 0, but we will not need this. The extension is to set (\frac{a}{−1}) = −1 and (\frac{a}{1}) = 1, for a ≠ 0, and extend

multiplicatively (in the denominator). Note that the map (\frac{•}{−1}) is not a Dirichlet character (see Exercise 4.1).

Let M be the product of the primes p such that ord_{p}(n) is odd. If M is odd let N = M; otherwise, let N = 8M.

Lemma 4.21. The function

ε(a) = \begin{cases}(\frac{a}{n}) & if gcd(a, N) = 1, \\ 0 & otherwise \end{cases}

is a Dirichlet character of modulus N. The function

ε(a) = \begin{cases}(\frac{−1}{a}) & if a is odd, \\ 0 & if a is even \end{cases}

is a Dirichlet character of modulus N.

Proof. When restricted to (ℤ/Nℤ)^{∗}, each map (\frac{•}{p}), for p prime, is a homomorphism, so ε a product of homomorphisms. The second statement follows from the definition and that −1 is a square modulo an odd prime p if and only if p ≡ 1 (mod 4). □

This section is about going between representing quadratic characters as row matrices and via Kronecker symbols. This is valuable because the algorithms in [Coh93, §1.1.4] for computing Kronecker symbols run in time quadratic in the number of digits of the input. They do not require computing discrete logarithms; instead, they use, e.g., that (\frac{a}{p}) ≡ a^{(p−1)/2} (mod p), when p is an odd prime.

Algorithm 4.22 (Kronecker Symbol as Dirichlet Character). Given n > 0, this algorithm computes a representation of the Kronecker symbol (\frac{•}{n}) as a Dirichlet character.

(1) [Modulus] Compute N as in Lemma 4.21.

(2) [Minimal Generators] Compute minimal generators g_{i} of (ℤ/Nℤ)^{∗} using Algorithm 4.4.

(3) [Images] Compute (\frac{g_{i}}{N} ) for each g_{i} using one of the algorithms of [Coh93, §1.1.4].

Example 4.23. We compute the Dirichlet character associated to (\frac{•}{200}). We find that (\frac{g_{i}}{200}), for i = 0, 1, 2, where the g_{i} are as in Example 4.8:

     sage: kronecker(151,200)
     1
     sage: kronecker(101,200)
     -1
     sage: kronecker(177,200)
     1

Thus the corresponding character is defined by [1, −1, 1].

Example 4.24. We compute the character associated to (\frac{•}{420}). We have 420 = 4 · 3 · 5 · 7, and minimal generators are

g_{0} = 211, g_{1} = 1, g_{2} = 281, g_{3} = 337, g_{4} = 241.

We have g_{0} ≡ −1 (mod 4), g_{2} ≡ 2 (mod 3), g_{3} ≡ 2 (mod 5) and g_{4} ≡ 3 (mod 7). We find (\frac{g_{0}}{420}) = (\frac{g_{1}}{420}) = 1 and (\frac{g_{2}}{420}) = (\frac{g_{3}}{420}) = (\frac{g_{4}}{420}) = −1. The corresponding character is [1, 1, −1, −1, −1].

Using the following algorithm we can go in the other direction, i.e., write any quadratic Dirichlet character as a Kronecker symbol.

Algorithm 4.25 (Dirichlet Character as Kronecker Symbol). Given ε of order 2 with modulus N, this algorithm writes ε as a Kronecker symbol.

(1) [Conductor] Use Algorithm 4.18 to compute the conductor f of ε.

(2) [Odd] If f is odd output (\frac{•}{f} ).

(3) [Even] If ε(−1) = 1, output (\frac{•}{f} ); if ε(−1) = −1, output (\frac{•}{f} )·(\frac{−1}{•}).

Proof. Since f is the conductor of a quadratic Dirichlet character it is a square-free product g of odd primes times either 4 or 8, so the group (ℤ/fℤ)^{∗} does not inject into (ℤ/gℤ)^{∗} for any proper divisor g of f (see this by reducing to the prime power case). Since g is odd and square free, the character (\frac{•}{g}) has conductor g. For each odd prime p, by Algorithm 4.18

(Step 3) the factor at p of both ε and (\frac{•}{g}) is a quadratic character with modulus p. By Exercise 4.2 and Lemma 4.2 the group D(p, ℂ) is cyclic, so has a unique element of order 2, so the factors of ε and (\frac{•}{g}) at p are equal.

The quadratic characters with conductor a power of 2 are [−1], [1, −1], and [−1, −1]. The character [1, −1] is (\frac{•}{2}) and the character [−1] is (\frac{−1}{•}). □

Example 4.26. Consider ε = [−1, −1, −1, −1, −1] with modulus 840 = 8·3· 5·7. It has conductor 840, and ε(−1) = −1, so for all a with gcd(a, 840) = 1 we have ε(a) = (\frac{a}{840}) · (\frac{−1}{a}).

4.6. Restriction, Extension, and Galois Orbits

The following two algorithms restrict and extend characters to a compatible modulus. Using them it is easy to define multiplication of two characters ε ∈ D(N, R) and ε′ ∈ D(N′, R′), as long as R and R′ are subrings of a common ring. To carry out the multiplication, just extend both characters to a common base ring, then extend them to characters modulo lcm(N, N′), then multiply.

Algorithm 4.27 (Restriction of Character). Given a Dirichlet character ε ∈ D(N, R) and a divisor N′ of N that is a multiple of the conductor of ε, this algorithm finds a characters ε′ ∈ D(N′, R), such that ε′(a) = ε(a), for all a ∈ ℤ with (a, N) = 1.

(1) [Conductor] Compute the conductor of ε using Algorithm 4.18, and verify that N′ is divisible by the conductor and divides N.

(2) [Minimal Generators] Compute minimal generators g_{i} for (ℤ/N′ℤ)^{∗}.

(3) [Values of Restriction] For each i, compute ε′(g_{i}) as follows. Find a multiple aN′ of N′ such that (g_{i} + aN′, N) = 1; then ε′(g_{i}) = ε(g_{i} + aN′).

(4) [Output Character] Output the Dirichlet character of modulus N′ defined by [ε′(g_{0}), …, ε′(g_{n})].

Proof. The only part that is not clear is that in Step 3 there is an a such that (g_{i} + aN′, N) = 1. If we write N = N_{1} · N_{2}, with (N_{1}, N_{2}) = 1, and N_{1} divisible by all primes that divide N′, then (g_{i}, N_{1}) = 1 since (g_{i}, N′) = 1. By the Chinese Remainder Theorem, there is an x ∈ ℤ such that x ≡ g_{i} (mod N_{1}) and x ≡ 1 (mod N_{2}). Then x = g_{i} + bN_{1} = g_{i} + (bN_{1}/N′) · N′ and (x, N) = 1, which completes the proof. □

Algorithm 4.28 (Extension of Character). Given a Dirichlet character ε ∈ D(N, R) and a multiple N′ of N, this algorithm finds a character ε′ ∈ D(N′, R), such that ε′(a) = ε(a), for all a ∈ ℤ with (a, N′) = 1.

(1) [Minimal Generators] Compute minimal generators g_{i} for (ℤ/N′ℤ)^{∗}.

(2) [Evaluate] Compute ε(g_{i}) for each i. Since (g_{i}, N′) = 1, we also have (g_{i}, N) = 1.

(3) [Output Character] Output the character [ε(g_{0}), …, ε(g_{n})].

Let F be the prime subfield of R, and assume that R ⊂ \overline{F}, where \overline{F} is a separable closure of F. If σ ∈ Gal(\overline{F} /F) and ε ∈ D(N, R), let (σε)(n) = σ(ε(n)); this defines an action of Gal(\overline{F} /F) on D(N, R). Our next algorithm computes the orbits for the action of Gal(\overline{F} /F) on D(N, R). This algorithm can provide huge savings for modular forms computations because the spaces M_{k}(N, ε) and M_{k}(N, ε′) are canonically isomorphic if ε and ε′ are conjugate.

Algorithm 4.29 (Galois Orbit). Given a Dirichlet character ε ∈ D(N, R), this algorithm computes the orbit of ε under the action of G = Gal(\overline{F} /F), where F is the prime subfield of Frac(R), so F = 𝔽_{p} or ℚ.

(1) [Order of ζ] Let n be the order of the chosen root ζ ∈ R.

(2) [Nontrivial Automorphisms] If char(R) = 0, let

A = {a : 2 ≤ a < n and (a, n) = 1}.

If char(R) = p > 0, compute the multiplicative order r of p(mod n), and let

A = {p^{m} : 1 ≤ m < r}.

(3) [Compute Orbit] Compute and output the set of unique elements ε^{a} for each a ∈ A (there could be repeats, so we output unique elements only).

Proof. We prove that the nontrivial automorphisms of ⟨ζ⟩ in characteristic p are as in Step 2. It is well-known that every automorphism in characteristic p on ζ ∈ \overline{𝔽}_{p} is of the form x ↦ x^{p^{s}}, for some s. The images of ζ under such automorphisms are

ζ, ζ^{p}, ζ^{p^{2}}, ….

Suppose r > 0 is minimal such that ζ = ζ^{p^{r}}. Then the orbit of ζ is ζ, …, ζ^{p^{r−1}}. Also p^{r} ≡ 1 (mod n), where n is the multiplicative order of ζ, so r is the multiplicative order of p modulo n, which completes the proof. □

Example 4.30. The Galois orbits of characters in D(20, ℂ^{∗}) are as follows:

G_{0} = {[1, 1, 1]},
G_{1} = {[−1, 1, 1]},
G_{2} = {[1, 1, ζ_{4}], [1, 1, −ζ_{4}]}
G_{3} = {[−1, 1, ζ_{4}], [−1, 1, −ζ_{4}]}
G_{4} = {[1, 1, −1]},
G_{5} = {[−1, 1, −1]}

The conductors of the characters in orbit G_{0} are 1, in orbit G_{1} are 4, in orbit G_{2} they are 5, in G_{3} they are 20, in G_{4} the conductor is 5, and in G_{5} the conductor is 20. (You should verify this.)

SAGE computes Galois orbits as follows:

     sage: G = DirichletGroup(20)
     sage: G.galois_orbits()
     [
     [[1, 1]],
     [[-1, 1]],
     [[1, zeta4], [1, -zeta4]],
     [[-1, zeta4], [-1, -zeta4]],
     [[1, -1]],
     [[-1, -1]]
     ]

4.7. Alternative Representations of Characters

Let N be a positive integer and R an integral domain, with fixed root of unity ζ of order n, and let D(N, R) = D(N, R, ζ). As in the rest of this chapter, write N = ∏ p_{i}^{e_{i}}, and let C_{i} = ⟨g_{i}⟩ be the corresponding cyclic factors of (ℤ/Nℤ)^{∗}. In this section we discuss other ways to represent elements ε ∈ D(N, R). Each representation has advantages and disadvantages, and no single representation is best. It is easy to convert between them, and some algorithms are much easier using one representation, than when using another. In this section we present two other representations, each having advantages and disadvantages. But, we emphasize that there is frequently no reason to restrict to only one representation!

We could represent ε by giving a list [b_{0}, …, b_{r}], where each b_{i} ∈ ℤ/nℤ and ε(g_{i}) = ζ^{b_{i}}. Then arithmetic in D(N, R) is arithmetic in (ℤ/nℤ)^{r+1}, which is very efficient. A drawback to this approach (in practice) is that it is easy to accidently consider sequences that do not actually correspond to elements of D(N, R). Also the choice of ζ is less clear, which can cause confusion. Finally, the orders of the local factors is more opaque, e.g., compare [−1, ζ_{40}] with [20, 1]. Overall this representation is not too bad, and is more like representing a linear transformation by a matrix. It has the advantage over the representation discussed earlier in this chapter that arithmetic in D(N, R) is very efficient, and does not require any operations in the ring R.

Another way to represent ε would be to give a list [b_{0}, …, b_{r}] of integers, but this time with b_{i} ∈ ℤ/ gcd(s_{i}, n)ℤ, where s_{i} is the order of g_{i}. Then

ε(g_{i}) = ζ^{b_{i}·n/(gcd(s_{i},n))},

which is already pretty complicated. With this representation we set up an identification

D(N, R) ≅ ⨁_{i} ℤ/ gcd(s_{i}, n)ℤ,

and arithmetic is efficient. This approach is seductive because every sequence of integers determines a character, and the sizes of the integers in the sequence nicely indicate the local orders of the character. However, giving analogues of many of the algorithms discussed in this chapter that operate on characters represented this way is tricky. For example, the representation depends very much on the order of ζ, so it is difficult to correctly compute natural maps D(N, R) → D(N, S), for R ⊂ S rings.

4.8. Dirichlet Characters in SAGE

To create a Dirichlet character first create the group D(N, R) of Dirichlet characters, then construct elements of that group. First we make D(11, ℚ):

     sage: G = DirichletGroup(11, RationalField()); G
     Group of Dirichlet characters of modulus 11 over Rational Field

A Dirichlet character prints as a matrix that gives the values of the character on canonical generators of (ℤ/Nℤ)^{∗} (as discussed below).

     sage: list(G)
     [[1], [-1]]
     sage: eps = G.0      # 0th generator for Dirichlet group
     sage: eps
     [-1]

The character ε takes the value −1 on the unit generator.

     sage: G.unit_gens()
     [2]
     sage: eps(2)
     -1
     sage: eps(3)
     1

It is 0 on any integer not coprime to 11:

     sage: [eps(11*n) for n in range(10)]  # values on 0,11,22,...
     [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

We can also create groups of Dirichlet characters taking values in other rings or fields. For example, we create the cyclotomic field ℚ(ζ_{4}).

4.8. Dirichlet Characters in SAGE 79

sage: R = CyclotomicField(4)
sage: CyclotomicField(4)
Cyclotomic Field of order 4 and degree 2

Then we define G = D(15, ℚ(ζ_{4})).

sage: G = DirichletGroup(15, R)
sage: G
Group of Dirichlet characters of modulus 15 over Cyclotomic
Field of order 4 and degree 2

And we list each of its elements.

sage: list(G)
[[1, 1], [-1, 1], [1, zeta4], [-1, zeta4], [1, -1], [-1, -1],
 [1, -zeta4], [-1, -zeta4]]

Now lets evaluate the second generator of G on various integers:

sage: e = G.1
sage: e(4)
-1
sage: e(-1)
-1
sage: e(5)
0

Finally we list all the values of e.

sage: [e(n) for n in range(15)]
[0, 1, zeta4, 0, -1, 0, 0, zeta4, -zeta4,
    0, 0, 1, 0, -zeta4, -1]

We can also compute with groups of Dirichlet characters with values in a finite field.

sage: G = DirichletGroup(15, GF(5)); G
Group of Dirichlet characters of modulus 15
      over Finite Field of size 5

We list all the elements of G, again represented by lists that give the images of each unit generator, as an element of 𝔽_{5}.

 sage: list(G)
   [[1, 1], [4, 1], [1, 2], [4, 2], [1, 4], [4, 4],
    [1, 3], [4, 3]]

We evaluate the second generator of G on several integers.

 sage: e = G.1
 sage: e(-1)
 4
 sage: e(2)
 2
 sage: e(5)
 0
 sage: print [e(n) for n in range(15)]
 [0, 1, 2, 0, 4, 0, 0, 2, 3, 0, 0, 1, 0, 3, 4]

4.9. Exercises

4.1 Let f : ℤ → ℂ be the map given by

f(a) = \begin{cases}0 & if a = 0, \\ −1 & if a < 0, \\ 1 & if a > 0. \end{cases}

Prove that f is not a Dirichlet character of any modulus N.

4.2 This exercise is about the structure of the units of ℤ/p^{n}ℤ.

(a) If p is odd and n is a positive integer, prove that (ℤ/p^{n}ℤ)^{∗} is cyclic.

(b) If n ≥ 3 prove that (ℤ/2^{n}ℤ)^{∗} is a direct sum of the cyclic subgroups ⟨−1⟩ and ⟨5⟩, of orders 2 and 2^{n−2}, respectively.

4.3 Prove that Algorithm 4.4 works, i.e., that if g ∈ (ℤ/p^{r}ℤ)^{∗} and g^{n/p_{i}} ≠ 1 for all p_{i} | n = φ(p^{r}), then g is a generator of (ℤ/p^{r}ℤ)^{∗}.

4.4 (a) Let p be an odd prime and n ≥ 2 an integer, and prove that

(1 + p^{n−1}ℤ/p^{n}ℤ), ×) ≅ (ℤ/pℤ, +).

(b) Use the first part to show that solving the discrete log problem in (ℤ/p^{n}ℤ)^{∗} is “not much harder” than solving the discrete log problem in (ℤ/pℤ)^{∗}.

4.5 Suppose ε is a nontrivial Dirichlet character of modulus 2^{n} of order r over the complex numbers ℂ. Prove that the conductor of ε is

c = \begin{cases}2^{ord_{2}(r)+1} & if ε(5) = 1 \\ 2^{ord_{2}(r)+2} & if ε(5) ≠ 1. \end{cases}

4.6 (a) Find an irreducible quadratic polynomial f over 𝔽_{5}.

(b) Then 𝔽_{25} = 𝔽_{5}[x]/(f). Find an element with multiplicative order 4 in 𝔽_{25}.

(c) Make a list of all Dirichlet characters in D(25, 𝔽_{25}, ζ).

(d) Divide these characters into orbits for the action of Gal(\overline{𝔽}_{5}/𝔽_{5}).

Eisenstein Series and Bernoulli Numbers

We introduce generalized Bernoulli numbers attached to Dirichlet characters, and give an algorithm to enumerate the Eisenstein series in M_{k}(N, ε).

5.1. The Eisenstein Subspace

Let M_{k}(Γ_{1}(N)) be the space of modular forms of weight k for Γ_{1}(N), and let 𝕋 be the Hecke algebra acting on M_{k}(Γ_{1}(N)), which is the subring of End(M_{k}(Γ_{1}(N))) generated by all Hecke operators. Then there is a 𝕋module decomposition

M_{k}(Γ_{1}(N)) = E_{k}(Γ_{1}(N)) ⊕ S_{k}(Γ_{1}(N)),

where S_{k}(Γ_{1}(N)) is the subspace of modular forms that vanish at all cusps, and E_{k}(Γ_{1}(N)) is the Eisenstein subspace, which is uniquely determined by this decomposition. The above decomposition induces a decomposition of M_{k}(Γ_{0}(N)) and of M_{k}(N, ε), for any Dirichlet character ε of modulus N.

5.2. Generalized Bernoulli Numbers

Suppose ε is a Dirichlet character of modulus N over ℂ. Leopoldt [Leo58] defined generalized Bernoulli numbers attached to ε.

Definition 5.1 (Generalized Bernoulli Number). We define the generalized Bernoulli numbers B_{k,ε} attached to ε by the following identity of infinite series:

∑_{a=1}^{N} \frac{ε(a) · x · e^{ax}}{e^{Nx} − 1} = ∑_{k=0}^{∞} B_{k,ε} · \frac{x^{k}}{k!} .

If ε is the trivial character of modulus 1 and B_{k} are as in Section 2.1, then B_{k,ε} = B_{k}, except when k = 1, in which case B_{1,ε} = −B_{1} = 1/2 (see Exercise 5.2).

5.2.1. Computing Generalized Bernoulli Numbers Algebraically. Let ℚ(ε) denote the field generated by the image of the character ε; thus ℚ(ε) is the cyclotomic extension ℚ(ζ_{n}), where n is the order of ε.

Algorithm 5.2 (Generalized Bernoulli Numbers Algebraically). Given an integer k ≥ 0 and any Dirichlet character ε with modulus N, this algorithm computes the generalized Bernoulli numbers B_{j,ε}, for j ≤ k.

(1) Compute g = x/(e^{Nx} − 1) ∈ ℚ[[x]] to precision O(x^{k+1}). by computing e^{Nx} − 1 = ∑_{n≥1} N^{n}x^{n}/n! to precision O(x^{k+2}), and computing the inverse 1/(e^{Nx} − 1) then multiplying by x.

(2) For each a = 1, …, N, compute f_{a} = g · e^{ax} ∈ ℚ[[x]], to precision O(x^{k+1}). This requires computing e^{ax} = ∑_{n≥0} a^{n}x^{n}/n! to precision O(x^{k+1}). (Omit computation of e^{Nx} if N > 1 since then ε(N) = 0.)

(3) Then for j ≤ k, we have

B_{j,ε} = j! · ∑_{a=1}^{N} ε(a) · c_{j}(f_{a}),

where c_{j}(f_{a}) is the coefficient of x^{j} in f_{a}.

Note that in Steps 1 and 2 we compute the power series doing arithmetic only in ℚ[[x]], not in ℚ(ε)[[x]], which could be much less efficient if ε has large order. In Step 1 if k is huge we could compute the inverse 1/(e^{Nx} − 1) using asymptotically fast arithmetic and Newton iteration as in [BCS92b] (though there they work modulo a prime p).

Example 5.3. The nontrivial character ε with modulus 4 has order 2 and takes values in ℚ. The Bernoulli numbers B_{k,ε} for k even are all 0 and for k odd they are

B_{1,ε} = −1/2
B_{3,ε} = 3/2
B_{5,ε} = −25/2
B_{7,ε} = 427/2
B_{9,ε} = −12465/2
B_{11,ε} = 555731/2
B_{13,ε} = −35135945/2
B_{15,ε} = 2990414715/2
B_{17,ε} = −329655706465/2
B_{19,ε} = 45692713833379/2.

Example 5.4. The generalized Bernoulli numbers need not be in ℚ. Suppose ε is the mod 5 character such that ε(2) = i = \sqrt{−1}. Then B_{k,ε} = 0 for k even and

B_{1,ε} = \frac{−i − 3}{5}
B_{3,ε} = \frac{6i + 12}{5}
B_{5,ε} = \frac{−86i − 148}{5}
B_{7,ε} = \frac{2366i + 3892}{5}
B_{9,ε} = \frac{−108846i − 176868}{5}
B_{11,ε} = \frac{7599526i + 12309572}{5}
B_{13,ε} = \frac{−751182406i − 1215768788}{5}
B_{15,ε} = \frac{99909993486i + 161668772052}{5}
B_{17,ε} = \frac{−17209733596766i − 27846408467908}{5}

Example 5.5. We use SAGE to compute some of the above generalized Bernoulli numbers. First we define the character and verify that ε(2) = i (note that in SAGE zeta4 is \sqrt{−1}).

     sage: G = DirichletGroup(5)
     sage: e = G.0
     sage: e(2)
     zeta4

We compute the Bernoulli number B_{1,ε}.

     sage: e.bernoulli(1)
     -1/5*zeta4 - 3/5

We compute B_{9,ε}.

     sage: e.bernoulli(9)
     -108846/5*zeta4 - 176868/5

Proposition 5.6. If ε(−1) ≠ (−1)^{k} and k ≥ 2, then B_{k,ε} = 0.

Proof. See Exercise 5.3. □

5.2.2. Computing Generalized Bernoulli Numbers Analytically.

This section^{1} is about a way to compute generalized Bernoulli numbers, which is similar to the algorithm in Section 2.7.

Let χ be a primitive Dirichlet character modulo its conductor f. Note from the definition of Bernoulli numbers that if σ ∈ Gal(\overline{ℚ}/ℚ), then

(5.2.1)  σ(B_{n,χ}) = B_{n,σ(χ)}.

For any character χ, we define the Gauss sum τ(χ) as

τ(χ) = ∑_{r=1}^{f−1} χ(r) ζ^{r} ,

where ζ = exp(2πi/f) is the principal fth root of unity. The Dirichlet L-function for χ for Re(s) > 1 is

L(s, χ) = ∑_{n=1}^{∞} χ(n) n^{−s} .

In the right half-plane {s ∈ ℂ | Re(s) > 1} this function is analytic, and because χ is multiplicative we have the Euler product representation

L(s, χ) = ∏_{p prime} (1 − χ(p)p^{−s})^{−1} . (5.2.2)

1This section was written jointly with Kevin McGown.

We note (but will not use) that through analytic continuation L(s, χ) can be extended to a meromorphic function on the entire complex plane.

If χ is a nonprincipal primitive Dirichlet character of conductor f such that χ(−1) = (−1)^{n}, then (see, e.g., [Wan82])

L(n, χ) = (−1)^{n−1} \frac{τ(χ)}{2} (\frac{2πi}{f})^{n} \frac{B_{n,\overline{χ}}}{n!} .

Solving for the Bernoulli number yields

B_{n,χ} = (−1)^{n−1} \frac{2n!}{τ(\overline{χ})} (\frac{f}{2πi})^{n} L(n, \overline{χ}) .

This allows us to give decimal approximations for B_{n,χ}. It remains to compute B_{n,χ} exactly (i.e. as an algebraic integer). To simplify the above expression, we define

K_{n,χ} = (−1)^{n−1} 2n! (\frac{f}{2i})^{n} ,

and write

(5.2.3)  B_{n,χ} = \frac{K_{n,χ}}{π^{n} τ(\overline{χ})} L(n, \overline{χ}) .

Note that we can compute K_{n,χ} exactly in the field ℚ(i).

The following result identifies the denominator of B_{n,χ}.

Theorem 5.7. Let n and χ be as above, and define an integer d as follows:

d = \begin{cases}1 & if f is divisible by two distinct primes, \\ 2 & if f = 4, \\ 1 & if f = 2^{μ}, μ > 2, \\ np & if f = p, p > 2, \\ (1 − χ(1 + p)) & if f = p^{μ}, p > 2, μ > 1. \end{cases}

Then dn^{−1} B_{n,χ} is integral.

Proof. See [Car59a] for the proof [Car59b] for a discussion. □

To compute the algebraic integer dn^{−1}B_{n,χ} we compute L(n, \overline{χ}) to very high precision using the Euler product (5.2.2) and the formula (5.2.3). We carry out the same computation for each of the Gal(\overline{ℚ}/ℚ) conjugates of χ, which by (5.2.1) yields the conjugates of dn^{−1}B_{n,χ}. We can then write down the characteristic polynomial of dn^{−1}B_{n,χ} to very high precision, and recognize the coefficients as rational integers. Finally, we determine which of the roots of the characteristic polynomial is dn^{−1}B_{n,χ} by approximating them all numerically to high precision and seeing which is closest to our numerical approximation to dn^{−1}B_{n,χ}. The details are similar to what is explained in Section 2.7.

5.3. Explicit Basis for the Eisenstein Subspace

Suppose χ and ψ are primitive Dirichlet characters with conductors L and R, respectively. Let

(5.3.1) E_{k,χ,ψ}(q) = c_{0} + ∑_{m≥1} (∑_{n|m} ψ(n) · χ(m/n) · n^{k−1}) q^{m} ∈ ℚ(χ, ψ)[[q]],

where

c_{0} = \begin{cases}0 & if L > 1, \\ −\frac{B_{k,ψ}}{2k} & if L = 1. \end{cases}

Note that when χ = ψ = 1 and k ≥ 4, then E_{k,χ,ψ} = E_{k}, where E_{k} is from Chapter 1.

Miyake proves (statements that imply) the following theorems in [Miy89, Ch. 7].

Theorem 5.8. Suppose t is a positive integer and χ, ψ are as above, and that k is a positive integer such that χ(−1)ψ(−1) = (−1)^{k}. Except when k = 2 and χ = ψ = 1, the power series E_{k,χ,ψ}(q^{t}) defines an element of M_{k}(RLt, χ/ψ). If χ = ψ = 1, k = 2, t > 1, and E_{2}(q) = E_{k,χ,ψ}(q), then E_{2}(q) − tE_{2}(q^{t}) is a modular form in M_{2}(Γ_{0}(t)).

Theorem 5.9. The Eisenstein series in M_{k}(N, ε) coming from Theorem 5.8 with RLt | N and χ/ψ = ε form a basis for the Eisenstein subspace E_{k}(N, ε).

Theorem 5.10. The Eisenstein series E_{k,χ,ψ}(q) ∈ M_{k}(RL) defined above are eigenforms (i.e., eigenvectors for all Hecke operators T_{n}). Also E_{2}(q) − tE_{2}(q^{t}), for t > 1, is an eigenform.

Since E_{k,χ,ψ}(q) is normalized so the coefficient of q is 1, the eigenvalue of T_{m} is the coefficient

∑_{n|m} ψ(n) · χ(m/n) · n^{k−1}

of q^{m} (see Proposition 9.10). Also for f = E_{2}(q) − tE_{2}(q^{t}) with t > 1 prime, the coefficient of q is 1, and T_{m}(f) = σ_{1}(m) · f for (m, t) = 1, and T_{t}(f) = ((t + 1) − t)f = f.

Algorithm 5.11 (Enumerating Eisenstein Series). Given a weight k and a Dirichlet character ε of modulus N, this algorithm computes a basis for the Eisenstein subspace E_{k}(N, ε) of M_{k}(N, ε) to precision O(q^{r}).

(1) [Weight 2 Trivial Character?] If k = 2 and ε = 1, output the Eisenstein series E_{2}(q) − tE_{2}(q^{t}), for each divisor t | N with t ≠ 1, then terminate.

(2) [Empty Space?] If ε(−1) ≠ (−1)^{k} output the empty list.

(3) [Compute Dirichlet Group] Let G = D(N, ℚ(ζ_{n})) be the group of Dirichlet characters with values in ℚ(ζ_{n}), where n is the exponent of (ℤ/Nℤ)^{∗}.

(4) [Compute Conductors] Compute the conductor of every element of G using Algorithm 4.18.

(5) [List Characters χ] Form a list V all Dirichlet characters χ ∈ G such that cond(χ) · cond(χ/ε) divides N.

(6) [Compute Eisenstein Series] For each character χ in V, let ψ = χ/ε, and compute E_{k,χ,ψ}(q^{t}) (mod q^{r}) for each divisor t of N/(cond(χ)· cond(ψ)). Here we compute E_{k,χ,ψ}(q^{t}) (mod q^{r}) using (5.3.1) and Algorithm 5.2.

Remark 5.12. Algorithm 5.11 is what is currently used in SAGE. It might be better to first reduce to the prime power case by writing all characters as product of local characters and combine Steps 4 and 5 into a single step that involves orders. However, this might make things more obscure.

Example 5.13. The following is a basis of Eisenstein series for E_{2}(Γ_{1}(13)).

f_{1} = \frac{1}{2} + q + 3q^{2} + 4q^{3} + ⋯
f_{2} = −\frac{7}{13}ζ_{12}^{2} − \frac{11}{13} + q + (2ζ_{12}^{2} + 1) q^{2} + (−3ζ_{12}^{2} + 1) q^{3} + ⋯
f_{3} = q + (ζ_{12}^{2} + 2) q^{2} + (−ζ_{12}^{2} + 3) q^{3} + ⋯
f_{4} = −ζ_{12}^{2} + q + (2ζ_{12}^{2} − 1) q^{2} + (3ζ_{12}^{2} − 2) q^{3} + ⋯
f_{5} = q + (ζ_{12}^{2} + 1) q^{2} + (ζ_{12}^{2} + 2) q^{3} + ⋯
f_{6} = −1 + q + −q^{2} + 4q^{3} + ⋯
f_{7} = q + q^{2} + 4q^{3} + ⋯
f_{8} = ζ_{12}^{2} − 1 + q + (−2ζ_{12}^{2} + 1) q^{2} + (−3ζ_{12}^{2} + 1) q^{3} + ⋯
f_{9} = q + (−ζ_{12}^{2} + 2) q^{2} + (−ζ_{12}^{2} + 3) q^{3} + ⋯
f_{10} = \frac{7}{13}ζ_{12}^{2} − \frac{18}{13} + q + (−2ζ_{12}^{2} + 3) q^{2} + (3ζ_{12}^{2} − 2) q^{3} + ⋯
f_{11} = q + (−ζ_{12}^{2} + 3) q^{2} + (ζ_{12}^{2} + 2) q^{3} + ⋯

We computed it as follows:

sage: E = EisensteinForms(Gamma1(13),2)
sage: E.eisenstein_series()

We can also compute the parameters χ, ψ, t that define each series:

sage: e = E.eisenstein_series()
sage: for e in E.eisenstein_series():
...       print e.parameters()
...
([1], [1], 13)
([1], [zeta6], 1)
([zeta6], [1], 1)
([1], [zeta6 - 1], 1)
([zeta6 - 1], [1], 1)
([1], [-1], 1)
([-1], [1], 1)
([1], [-zeta6], 1)
([-zeta6], [1], 1)
([1], [-zeta6 + 1], 1)
([-zeta6 + 1], [1], 1)

5.4. Exercises

5.1 Suppose A and B are diagonalizable linear transformations of a finite-dimensional vector space V over an algebraically closed field K and that AB = BA. Prove there is a basis for V so that the matrices of A and B with respect to that both are simultaneously diagonal.

5.2 If ε is the trivial character of modulus 1 and B_{k} are as in Section 2.1, then B_{k,ε} = B_{k}, except when k = 1, in which case B_{1,ε} = −B_{1} = 1/2.

5.3 Prove that for k ≥ if ε(−1) ≠ (−1)^{k}, then B_{k,ε} = 0. 5.4 Show that the dimension of the Eisenstein subspace E_{3}(Γ_{1}(13)) is

12 by finding a basis of series E_{k,χ,ψ}. You do not have to write down the q-expansions of the series, but you do have to figure out which χ, ψ to use.

Dimension Formulas

When computing with spaces of modular forms, it is helpful to have easy-to-compute formulas for dimensions of these spaces. Such formulas provide a check on the output of the algorithms from Chapter 8 that compute explicit bases for spaces of modular forms. We can also use dimension formulas to improve the efficiency of some of the algorithms in Chapter 8, since we can use them to determine the ranks of certain matrices without having to explicitly compute those matrices. Dimension formulas can also be used in generating basis of q-expansions; if we know the dimension of M_{k}(N, ε), and we have a process for computing q-expansions of elements of M_{k}(N, ε), e.g., multiplying together q-expansions of certain forms of smaller weight, then we can tell when we are done generating M_{k}(N, ε).

This chapter contains formulas for dimensions of spaces of modular forms, along with some remarks about how to evaluate these formulas. In some cases we give dimension formulas for spaces that we will define in later chapters. We also give many examples, some of which were computed using the modular symbols algorithms from Chapter 8.

Many of the dimension formulas and algorithms we give below grew out of Shimura’s book [Shi94] and a program that Bruce Kaskel wrote (around 1996) in PARI, which Kevin Buzzard extended. That program codified dimension formulas that Buzzard and Kaskel found or extracted from the literature (mainly [Shi94, §2.6]). The algorithm for dimensions of spaces with nontrivial character are from [CO77], with some refinements suggested by Kevin Buzzard.

For the rest of this chapter, N denotes a positive integer and k ≥ 2 is an integer. We will give no simple formulas for dimensions of spaces of weight 1 modular forms; in fact, it might not be possible to give such formulas since the methods used to derive the formulas below do not apply in the case k = 1. If k = 0, the only modular forms are the constants, and for k < 0 the dimension of M_{k}(N, ε) is 0.

For a nonzero integer N and a prime p, let v_{p}(N) be the largest integer e such that p^{e} | N. In the formulas in this chapter, p always denotes a prime number. Let M_{k}(N, ε) be the space of modular forms of level N weight k and character ε, and S_{k}(N, ε) and E_{k}(N, ε) be the cuspidal and Eisenstein subspaces, respectively.

The dimension formulas below for S_{k}(Γ_{0}(N)), S_{k}(Γ_{1}(N)), E_{k}(Γ_{0}(N)) and E_{k}(Γ_{1}(N)) can be found in [DS05, Ch. 3], [Shi94, §2.6]^{1} and [Miy89, §2.5]. They are derived using the Riemann-Roch Theorem applied to the covering X_{0}(N) → X_{0}(1) or X_{1}(N) → X_{1}(1) and appropriately chosen divisors. It would be natural to give a sample argument along these lines at this point, but we will not since it easy to find such arguments in other books and survey papers (see, e.g., [DI95]). So you will not learn much about how to derive dimension formulas from this chapter. What you will learn is precisely what the dimension formulas are, which is something that is often hard to extract from obscure references.

In addition to reading this chapter, the reader may wish to consult [Mar05] for proofs of similar dimension formulas, asymptotic results, and a nonrecursive formula for dimensions of certain new subspaces.

6.1. Modular Forms for Γ_{0}(N)

For any prime p and any positive integer N, let v_{p}(N) be the power of p that divides N. Also, let:

μ_{0}(N) = ∏_{p|N} (p^{v_{p}(N)} + p^{v_{p}(N)−1})

μ_{0,2}(N) = \begin{cases}0 & if 4 | N, \\ ∏_{p|N} (1 + (\frac{−4}{p})) & otherwise. \end{cases}

μ_{0,3}(N) = \begin{cases}0 & if 2 | N or 9 | N, \\ ∏_{p|N} (1 + (\frac{−3}{p})) & otherwise. \end{cases}
c_{0}(N) = ∑_{d|N} φ(gcd(d, N/d))

g_{0}(N) = 1 + \frac{μ_{0}(N)}{12} − \frac{μ_{0,2}(N)}{4} − \frac{μ_{0,3}(N)}{3} − \frac{c_{0}(N)}{2}

1The formulas in [Shi94, §2.6] contain some minor mistakes.

6.1. Modular Forms for Γ_{0}(N) 95

Note that μ_{0}(N) is the index of Γ_{0}(N) in SL_{2}(ℤ) (see Exercise 6.1).

Proposition 6.1. We have dim S_{2}(Γ_{0}(N)) = g_{0}(N), and for k ≥ 4 even,

dim S_{k}(Γ_{0}(N)) = (k − 1) · (g_{0}(N) − 1) + (\frac{k}{2} − 1) · c_{0}(N) +

μ_{0,2}(N) · ⌊\frac{k}{4} ⌋ + μ_{0,3}(N) · ⌊\frac{k}{3} ⌋ .

The dimension of the Eisenstein subspace is

dim E_{k}(Γ_{0}(N)) = \begin{cases}c_{0}(N) & if k ≠ 2, \\ c_{0}(N) − 1 & if k = 2. \end{cases}

The following is a table of dim S_{k}(Γ_{0}(N)) for some values of N and k:

\begin{matrix}N & S_{2}(Γ_{0}(N)) & S_{4}(Γ_{0}(N)) & S_{6}(Γ_{0}(N)) & S_{24}(Γ_{0}(N)) \\ 1 & 0 & 0 & 0 & 2 \\ 10 & 0 & 3 & 5 & 33 \\ 11 & 1 & 2 & 4 & 22 \\ 100 & 7 & 36 & 66 & 336 \\ 389 & 32 & 97 & 161 & 747 \\ 1000 & 131 & 430 & 730 & 3430 \\ 2007 & 221 & 806 & 1346 & 6206 \\ 100000 & 14801 & 44800 & 74800 & 344800 \end{matrix}

Example 6.2. Use the commands dimension cusp forms, dimension eis,

and dimension modular forms to compute the dimensions of the three spaces S_{k}(Γ_{0}(N)), E_{k}(Γ_{0}(N)) and M_{k}(Γ_{0}(N)), respectively. For example,

     sage: dimension_cusp_forms(Gamma0(2007),2)
     221
     sage: dimension_eis(Gamma0(2007),2)
     7
     sage: dimension_modular_forms(Gamma0(2007),2)
     228

Remark 6.3. Csirik, Wetherell, and Zieve prove in [CWZ01] that a random positive integer has probability 0 of being a value of

g_{0}(N) = dim S_{2}(Γ_{0}(N)),

and give bounds on the size of the set of values of g_{0}(N) below some given x. For example, they show that 150, 180, 210, 286, 304, 312, … are the first few integers that are not of the form g_{0}(N) for any N. See Figure 6.1.1 for a plot of the very erratic function g_{0}(N). In contrast k ↦ dim S_{2k}(Γ_{0}(12)) (say) is very well behaved (see Figure 6.1.2).

96 6. Dimension Formulas

Figure 6.1.1. Dimension of S_{2}(Γ_{0}(N)) as a function of N. Figure 6.1.2. Dimension of S_{2k}(Γ_{0}(12)) as a function of k.

6.1.1. New and Old Subspaces. In this section we assume the reader is either familiar with newforms or has read Section 9.2.

For any integer R, let

\overline{μ}(R) = \begin{cases}0 & if p^{3} | R for some p \\ ∏_{p||R} −2 & otherwise, \end{cases}

where the product is over primes that exactly divide R. Note that \overline{μ} is not the Moebius function, but has a similar flavor.

Proposition 6.4. The dimension of the new subspace is

dim S_{k}(Γ_{0}(N))_{new} = ∑_{M|N} \overline{μ}(N/M) · dim S_{k}(Γ_{0}(M)),

where the sum is over the positive divisors M of N. As a consequence of Theorem 9.4, we also have

dim S_{k}(Γ_{0}(N)) = ∑_{M|N} σ_{0}(N/M) dim S_{k}(Γ_{0}(M))_{new},

where σ_{0}(N/M) is the number of divisors of N/M.

Example 6.5. We compute the dimension of the new subspace of S_{k}(Γ_{0}(N)) using the SAGE command dimension new cusp forms as follows:

     sage: dimension_new_cusp_forms(Gamma0(11),12)
     8
     sage: dimension_cusp_forms(Gamma0(11),12)
     10
     sage: dimension_new_cusp_forms(Gamma0(2007),12)
     1017
     sage: dimension_cusp_forms(Gamma0(2007),12)
     2460

6.2. Modular Forms for Γ_{1}(N)

This section follows Section 6.1 closely, but with suitable modifications with Γ_{0}(N) replaced by Γ_{1}(N).

Define functions of a positive integer N by the following formulas:

μ_{1}(N) = \begin{cases}μ_{0}(N) & if N = 1, 2, \\ \frac{ϕ(N) · μ_{0}(N)}{2} & otherwise. \end{cases}

μ_{1,2}(N) = \begin{cases}0 & if N ≥ 4, \\ μ_{0,2}(N) & otherwise. \end{cases}

μ_{1,3}(N) = \begin{cases}0 & if N ≥ 4, \\ μ_{0,3}(N) & otherwise. \end{cases}

c_{1}(N) = \begin{cases}c_{0}(N) & if N = 1, 2, \\ 3 & if N = 4, \\ ∑_{d|N} \frac{ϕ(d)ϕ(N/d)}{2} & otherwise. \end{cases}

g_{1}(N) = 1 + \frac{μ_{1}(N)}{12} − \frac{μ_{1,2}(N)}{4} − \frac{μ_{1,3}(N)}{3} − \frac{c_{1}(N)}{2}

Note that g_{1}(N) is the genus of the modular curve X_{1}(N) (associated to Γ_{1}(N)), and c_{1}(N) is the number of cusps of X_{1}(N).

Proposition 6.6. We have dim S_{2}(Γ_{1}(N)) = g_{1}(N). If N ≤ 2, then Γ_{0}(N) = Γ_{1}(N) so

dim S_{k}(Γ_{1}(N)) = dim S_{k}(Γ_{0}(N)),

where dim S_{k}(Γ_{0}(N)) is given by the formula of Proposition 6.1. If k ≥ 3, let

a(N, k) = (k − 1)(g_{1}(N) − 1) + (\frac{k}{2} − 1) · c_{1}(N).

Then for N ≥ 3,

dim S_{k}(Γ_{1}(N)) = \begin{cases}a(+1/2 & if N = 4 and 2 ∤ k, \\ a + ⌊k/3⌋ & if N = 3, \\ a & otherwise. \end{cases}

The dimension of the Eisenstein subspace is as follows:

dim E_{k}(Γ_{1}(N)) = \begin{cases}c_{1}(N) & if k ≠ 2, \\ c_{1}(N) − 1 & if k = 2. \end{cases}

The dimension of the new subspace of M_{k}(Γ_{1}(N)) is

dim S_{k}(Γ_{1}(N))_{new} = ∑_{M|N} \overline{μ}(N/M) · dim S_{k}(Γ_{1}(M)),

where \overline{μ} is as in the statement of Proposition 6.4.

Remark 6.7. Since M_{k} = S_{k} ⊕ E_{k}, the formulas above for dim S_{k} and dim E_{k} also yield a formula for the dimension of M_{k}.

The following table contains the dimension of S_{k}(Γ_{1}(N)) for some sample values of N and k:

\begin{matrix}N & S_{2}(Γ_{1}(N)) & S_{3}(Γ_{1}(N)) & S_{4}(Γ_{1}(N)) & S_{24}(Γ_{1}(N)) \\ 1 & 0 & 0 & 0 & 2 \\ 10 & 0 & 2 & 5 & 65 \\ 11 & 1 & 5 & 10 & 110 \\ 100 & 231 & 530 & 830 & 6830 \\ 389 & 6112 & 12416 & 18721 & 144821 \\ 1000 & 28921 & 58920 & 88920 & 688920 \\ 2007 & 147409 & 296592 & 445776 & 3429456 \\ 100000 & 299792001 & 599792000 & 899792000 & 6899792000 \end{matrix}

Example 6.8. We compute dimensions of spaces of modular forms for Γ_{1}(N):

     sage: dimension_cusp_forms(Gamma1(2007),2)
     147409
     sage: dimension_eis(Gamma1(2007),2)
     3551
     sage: dimension_modular_forms(Gamma1(2007),2)
     150960

6.3. Modular Forms with Character

Fix a Dirichlet character ε of modulus N, and let c be the conductor of ε (we do not assume that ε is primitive). Assume that ε ≠ 1, since otherwise M_{k}(N, ε) = M_{k}(Γ_{0}(N)) and the formulas of Section 6.1 apply. Also, assume that ε(−1) = (−1)^{k}, since otherwise dim M_{k}(Γ_{0}(N)) = 0. In this section we discuss formulas for computing each of M_{k}(N, ε), S_{k}(N, ε) and E_{k}(N, ε).

In [CO77], Cohen and Oesterle assert (without published proof, see Remark 6.11 below) that for any k ∈ ℤ and N, ε as above, that

dim S_{k}(N, ε) − dim M_{2−k}(N, ε)

= \frac{k − 1}{12} · μ_{0}(N) − \frac{1}{2} · ∏_{p|N} λ(p, N, v_{p}(c))

+ γ_{4}(k) · ∑_{x∈A_{4}(N)} ε(x) + γ_{3}(k) · ∑_{x∈A_{3}(N)} ε(x)

100 6. Dimension Formulas

Figure 6.2.1. Dimension of S_{2}(Γ_{1}(N)) as a function of N.

where μ_{0}(N) is as in Section 6.1, A_{4}(N) = {x ∈ ℤ/Nℤ : x^{2} + 1 = 0} and A_{3}(N) = {x ∈ ℤ/Nℤ : x^{2} + x + 1 = 0}, and γ_{3}, γ_{4} are:

γ_{4}(k) = \begin{cases}−1/4 & if k ≡ 2 (mod 4) \\ 1/4 & if k ≡ 0 (mod 4) \\ 0 & if k is odd \end{cases}
γ_{3}(k) = \begin{cases}−1/3 & if k ≡ 2 (mod 3) \\ 1/3 & if k ≡ 0 (mod 3) \\ 0 & if k ≡ 1 (mod 3) \end{cases}

It remains to define λ. Fix a prime divisor p | N and let r = v_{p}(N). Then

λ(p, N, v_{p}(c)) = \begin{cases}p^{\frac{r}{2}} + p^{\frac{r}{2} −1} & if 2 · v_{p}(c) ≤ r and 2 | r, \\ 2 · p^{\frac{r−1}{2}} & if 2 · v_{p}(c) ≤ r and 2 ∤ r, \\ 2 · p^{r−v_{p}(c)} & if 2 · v_{p}(c) > r \end{cases}

This flexible formula can be used to compute the dimension of M_{k}(N, ε), S_{k}(N, ε), and E_{k}(N, ε) for any N, ε, k ≠ 1, by using that

dim S_{k}(N, ε) = 0  if k ≤ 0
dim M_{k}(N, ε) = 0  if k < 0
dim M_{0}(N, ε) = 1  if k = 0

One thing that is not straightforward when implementing an algorithm to compute the above dimension formulas is how to efficiently compute the sets A_{4}(N) and A_{6}(N). Kevin Buzzard suggested the following two algorithms. Note that if k is odd, then γ_{4}(k) = 0, so the sum over A_{4}(N) is only needed when k is even.

Algorithm 6.9 (Sum over A_{4}(N)). Given a positive integer N and an even Dirichlet character ε of modulus N, this algorithm computes ∑_{x∈A_{4}(N)} ε(x).

(1) [Factor N] Compute the prime factorization p_{1}^{e_{1}} ⋯ p_{n}^{e_{n}} of N.

(2) [Initialize] Set t = 1 and i = 0.

(3) [Loop over prime divisors] Set i = i+1. If i > n, return t. Otherwise set p = p_{i} and e = e_{i}.

(a) If p ≡ 3 (mod 4), return 0.

(b) If p = 2 and e > 1, return 0.

(c) If p = 2 and e = 1, go to Step 3.

(d) Compute a generator a ∈ (ℤ/pℤ)^{∗} using Algorithm 4.4.

(e) Compute ω = a^{(p−1)/4}.

(f) Use the Chinese remainder theorem to find x ∈ ℤ/Nℤ such that x ≡ a (mod p) and x ≡ 1 (mod N/p^{e}).

(g) Set x = x^{p^{r−1}}.

(h) Set s = ε(x).

(i) If s = 1, set t = 2t and go to Step 3.

(j) If s = −1, set t = −2t and go to Step 3.

Proof. Note that ε(−x) = ε(x), since ε is even. By the Chinese remainder theorem, the set A_{4}(N) is empty if and only if there is no square root of −1 modulo some prime power divisor of p. If A_{4}(N) is empty, the algorithm correctly detects this fact in steps 3a–3b. Thus assume A_{4}(N) is non-empty. For each prime power p_{i}^{e_{i}} that exactly divides N, let x_{i} ∈ Z/Nℤ be such that x_{i}^{2} = −1 and x_{i} ≡ 1 (mod p_{j}^{e_{j}}) for i ≠ j. This is the value of x computed in steps 3d–3g (as one can see using elementary number theory).

The next key observation is that

(6.3.1)  ∏_{i}(ε(x_{i}) + ε(−x_{i})) = ∑_{x∈A_{4}(N)} ε(x),

since by the Chinese remainder theorem the elements of A_{4}(N) are in bijection with the choices for a square root of −1 modulo each prime power divisors of N. The observation (6.3.1) is a huge gain from an efficiency point of view—if N had r prime factors, then A_{4}(N) would have size 2^{r}, which could be prohibitive, where the product involves only r factors. To finish the proof, just note that Steps 3h–3j compute the local factors ε(x_{i})+ε(−x_{i}) = 2ε(x_{i}), where again we use that ε is even. Note that a solution of x^{2}+1 ≡ 0 (mod p) lifts uniquely to a solution mod p^{n} for any n, because the kernel of the natural homomorphism (ℤ/p^{n}ℤ)^{∗} → (ℤ/pℤ)^{∗} is a group of p-power order. □

The algorithm for computing the sum over A_{3}(N) is similar, but we omit it.

For k ≥ 2, to compute dim S_{k}(N, ε), use the formula directly and that dim M_{2−k}(N, ε) = 0, unless ε = 1 and k = 2. To compute dim M_{k}(N, ε) for k ≥ 2, use that the big formula at the beginning of this section is valid for any integer k to replace k by 2 − k and that dim S_{k}(N, ε) = 0 for k ≤ 0 to rewrite the formula as

dim M_{k}(N, ε) = −(dim S_{2−k}(N, ε) − dim M_{k}(N, ε))

= −(\frac{1 − k}{12} · μ_{0}(N) − \frac{1}{2} · ∏_{p|N} λ(p, N, v_{p}(c))

+ γ_{4}(2 − k) · ∑_{x∈A_{4}(N)} ε(x) + γ_{3}(2 − k) · ∑_{x∈A_{3}(N)} ε(x)).

Note also that for k = 0, dim E_{k}(N, ε) = 1 if and only if ε is trivial, and equals 0 otherwise. We then also obtain

dim E_{k}(N, ε) = dim M_{k}(N, ε) − dim S_{k}(N, ε).

We can also compute dim E_{k}(N, ε) when k = 1 directly, since

dim S_{2−1}(N, ε) = dim S_{1}(N, ε).

The following table contains the dimension of S_{k}(N, ε) for some sample values of N and k. In each case, ε is the product of characters ε_{p} of maximal order corresponding to the prime power factors of N (i.e., the product of the generators of the group D(N, ℂ^{∗}) of Dirichlet characters of modulus N).

N  dim S_{2}(N, ε) dim S_{3}(N, ε) dim S_{4}(N, ε) dim S_{24}(N, ε)
1  0  0  0  2
10 0  1  0  0
11 0  1  0  0
100 13  0  43  343
389 0  64  0  0
1000 148  0  448  3448
2007 222  0  670  5150

Example 6.10. We compute the last line of the above table. First we create the character ε.

     sage: G = DirichletGroup(2007)
     sage: e = prod(G.gens())

Next we compute the dimension of the four spaces.

     sage: dimension_cusp_forms(e,2)
     222
     sage: dimension_cusp_forms(e,3)
     0
     sage: dimension_cusp_forms(e,4)
     670
     sage: dimension_cusp_forms(e,24)
     5150

We can also compute dimensions of the corresponding spaces of Eienstein series.

     sage: dimension_eis(e,2)
     4
     sage: dimension_eis(e,3)
     0
     sage: dimension_eis(e,4)
     4
     sage: dimension_eis(e,24)
     4

Remark 6.11. Cohen and Oesterle also give dimension formulas for spaces of half-integral weight modular forms, which we do not give in this chapter. Note that [CO77] does not contain any proofs that their claimed formulas are correct, but instead say only that “Les formules qui les donnent sont connues de beaucoup de gens et il existe plusieurs méthodes permettant de les obtenir (théorème de Riemann-Roch, application des formules de trace données par Shimura).”^{2}

Let f be the conductor of a Dirichlet character ε of modulus N. Then the dimension of the new subspace of M_{k}(N, ε) is

dim S_{k}(N, ε)_{new} = ∑_{M such that f|M|N} \overline{μ}(N/M) · dim S_{k}(M, ε′),

where \overline{μ} is as in the statement of Proposition 6.4, and ε′ is the restriction of ε mod M.

Example 6.12. We compute the dimension of S_{2}(2007, ε)_{new} for ε a quadratic character of modulus 2007.

     sage: e = prod(DirichletGroup(2007, QQ).gens())
     sage: dimension_new_cusp_forms(e,2)
     76

6.4. Exercises

6.1 Let μ_{0} and μ_{1} be as in this chapter.

(a) Prove that μ_{0}(N) = [SL_{2}(ℤ) : Γ_{0}(N)].

(b) Prove that for N ≥ 3, μ_{1}(N) = [SL_{2}(ℤ) : Γ_{1}(N)]/2, so μ_{1}(N)

is the index of Γ_{1}(N) · {±1} in PSL_{2}(ℤ) = SL_{2}(ℤ)/{±1}.

6.2 Use Proposition 6.4 to find a formula for dim S_{k}(SL_{2}(ℤ)). Verify that this formula is the same as the one in Corollary 2.15. 6.3 Suppose either that N = 1 or that N is prime and k = 2. Prove

that M_{k}(Γ_{0}(N))_{new} = M_{k}(Γ_{0}(N)). 6.4 Fill in the details of the proof of Algorithm 6.9. 6.5 Implement a computer program to compute dim S_{k}(Γ_{0}(N)) as a

function of k and N.

2The formulas that we give here are well known and there exist many methods to prove them, e.g., the Riemann-Roch theorem and applications of the trace formula of Shimura.

Linear Algebra

This chapter is about several algorithms for matrix algebra over the rational numbers and cyclotomic fields. Algorithms for linear algebra over exact fields are necessary in order to implement the modular symbols algorithms that we will describe in Chapter 7. This chapter partly overlaps with [Coh93, §2.1–2.4].

Note: We view all matrices as defining linear transformation by acting on row vectors from the right.

7.1. Echelon Forms of Matrices

Definition 7.1 (Reduced Row Echelon Form). A matrix is in (reduced row) echelon form if each row in the matrix has more zeros at the beginning than the row above it, the first nonzero entry of every row is 1, and the first nonzero entry of any row is the only nonzero entry in its column.

Given a matrix A, there is another matrix B such that B is obtained from A by left multiplication by an invertible matrix and B is in reduced row echelon form. This matrix B is called the echelon form of A. It is unique.

A pivot column of A is a column of A such that the reduced row echelon form of A contains a leading 1.

Example 7.2. The following matrix is not in reduced row echelon form:

( \begin{matrix}14 & 2 & 7 & 228 & −224 \\ 0 & 0 & 3 & 78 & −70 \\ 0 & 0 & 0 & −405 & 381 \end{matrix} )

The reduced row echelon form of the above matrix is

( \begin{matrix}1 & \frac{1}{7} & 0 & 0 & −\frac{1174}{945} \\ 0 & 0 & 1 & 0 & \frac{152}{135} \\ 0 & 0 & 0 & 1 & −\frac{127}{135} \end{matrix} )

Notice that the entries of the reduced row echelon form can be rationals with large denominators even though the entries of the original matrix A are integers. Another example is the simple looking matrix

( \begin{matrix}−9 & 6 & 7 & 3 & 1 & 0 & 0 & 0 \\ −10 & 3 & 8 & 2 & 0 & 1 & 0 & 0 \\ 3 & −6 & 2 & 8 & 0 & 0 & 1 & 0 \\ −8 & −6 & −8 & 6 & 0 & 0 & 0 & 1 \end{matrix} )

whose echelon form is

( \begin{matrix}1 & 0 & 0 & 0 & \frac{42}{1025} & −\frac{92}{1025} & \frac{1}{25} & −\frac{9}{205} \\ 0 & 1 & 0 & 0 & \frac{716}{3075} & −\frac{641}{3075} & −\frac{2}{75} & −\frac{7}{615} \\ 0 & 0 & 1 & 0 & −\frac{83}{1025} & \frac{133}{1025} & \frac{1}{25} & −\frac{23}{410} \\ 0 & 0 & 0 & 1 & \frac{184}{1025} & −\frac{159}{1025} & \frac{2}{25} & \frac{9}{410} \end{matrix} ) .

A basic fact is that two matrices A and B have the same reduced row echelon form if and only if there is an invertible matrix E such that EA = B. Also, many standard operations in linear algebra, e.g., computation of the kernel of a linear map, intersection of subspaces, membership checking, etc., can be encoded as a question about computing the (reduced row) echelon form of a matrix.

The following standard algorithm computes the echelon form of a matrix.

Algorithm 7.3 (Gauss Elimination). Given an m×n matrix A over a field, the algorithm outputs the reduced row echelon form of A. Write a_{i,j} for the i, j entry of A, where 0 ≤ i ≤ m − 1 and 0 ≤ j ≤ n − 1.

(1) [Initialize] Set k = 0.

(2) [Clear each column] For each column c = 0, 1, …, n − 1, clear the cth column as follows:

(a) [First nonzero] Find the smallest r such that a_{r,c} ≠ 0, or if there is no such r go to the next column.

(b) [Rescale] Replace row r of A by \frac{1}{a_{r,c}} times row r.

(c) [Swap] Swap row r with row k.

(d) [Clear] For each i = 0, …, m − 1 with i ≠ k, if a_{i,c} ≠ 0, add −a_{i,c} times row k of A to row i to clear the leading entry of the ith row.

(e) [Increment] Set k = k + 1.

This algorithm takes O(mn^{2}) arithmetic operation in the base field, where A is an m × n matrix. If the base field is ℚ, the entries can become huge and arithmetic operations are then very expensive. See Section 7.3 for ways to mitigate this problem.

To conclude this section we mention how to convert a few standard problems into questions about reduced row echelon forms of matrices. Note that one can also phrase some of these answers in terms of the echelon form, which might be easier to compute, or an LUP decomposition (lower triangular times upper triangular times permutation matrix), which the numerical analysts use.

(1) Kernel of A: We explain how to compute the kernel of A acting on column vectors from the right (first transpose to obtain the kernel of A acting on row vectors). Since passing to the reduced row echelon form of A is the same as multiplying on the left by an invertible matrix, the kernel of the reduce row echelon form E of A is the same as the kernel of A. There is a basis vector of ker(E) that corresponds to each non-pivot column of E. That vector has a 1 at the non-pivot column, 0’s at all other non-pivot columns, and for each pivot column, the negative of the entry of A at the non-pivot column in the row with that pivot element.

(2) Intersection of Subspaces: Suppose W_{1} and W_{2} are subspace of a finite-dimensional vector space V. Let A_{1} and A_{2} be matrices whose columns form a basis for W_{1} and W_{2}, respectively. Let A = [A_{1}|A_{2}] be the augmented matrix formed from A_{1} and A_{2}. Let K be the kernel of the linear transformation defined by A. Then K is isomorphic to the desired intersection. To write down the intersection explicitly, suppose that dim(W_{1}) ≤ dim(W_{2}) and do the following: For each b in a basis for K, write down the linear combination of a basis for W_{1} got by taking the first dim(W_{1}) entries of the vector b. The fact that b is in Ker(A) implies that the vector we just wrote down is also in W_{2}. This is because a linear relation

∑ a_{i}w_{1,i} + ∑ b_{j}w_{2,j} = 0,

i.e., an element of that kernel, is the same as

∑ a_{i}w_{1,i} = ∑ −b_{j}w_{2,j}.

For more details, see [Coh93, Alg. 2.3.9].

7.2. Rational Reconstruction

Rational reconstruction is a process that allows one to sometimes lift an integer modulo m uniquely to a bounded rational number.

Algorithm 7.4 (Rational Reconstruction). Given an integer a ≥ 0 and an integer m > 1, this algorithm computes the numerator n and denominator d of the unique rational number n/d, if it exists, with

(7.2.1)  |n|, d ≤ \sqrt{\frac{m}{2}}  and  n ≡ ad (mod m),

or reports that there is no such number.

(1) [Reduce mod m] Replace a with the least integer between 0 and m − 1 that is congruent to a modulo m.

(2) [Trivial cases] If a = 0 or a = 1, return a.

(3) [Initialize] Let b = \sqrt{m/2}, u = m, v = a, and set U = (1, 0, u) and V = (0, 1, v). Use the notation U_{i} and V_{i} to refer to the ith entries of U, V, for i = 0, 1, 2.

(4) [Iterate] Do the following as long as |V_{2}| > b: Set q = ⌊U_{2}/V_{2}⌋, set T = U − qV, set U = V and V = T.

(5) [Numerator and Denominator] Set d = |V_{1}| and n = V_{2}.

(6) [Good?] If d ≤ b and gcd(n, d) = 1 return n/d, otherwise report that there is no rational number as in (7.2.1).

Algorithm 7.4 for rational reconstruction is described (with proof) in [Knu, pg.656–657] as the solution to exercise 51 on page 379. See, in particular, the paragraph right in the middle of page 657, which describes the algorithm. Knuth attributes this rational reconstruction algorithm to Wang, Kornerup, and Gregory from around 1983.

We now give an indication of why Algorithm 7.4 computes the rational reconstruction of a (mod m), leaving the precise details and uniqueness to [Knu, pg.656–657]. At each step in Algorithm 7.4, the 3-tuple V = (v_{0}, v_{1}, v_{2}) satisfies

(7.2.2)  m · v_{0} + a · v_{1} = v_{2},

and similarly for U. When computing the usual extended gcd, at the end v_{2} = gcd(a, m) and v_{0}, v_{1} give a representation of the v_{2} as a ℤ-linear combination of m and a. In Algorithm 7.4, we are instead interested in finding a rational number n/d such that n ≡ a·d (mod m). If we set n = v_{2} and d = v_{1} in (7.2.2) and rearrange, we obtain

n = a · d + m · v_{0}.

7.3. Echelon Forms over ℚ 109

Thus at every step of the algorithm we find a rational number n/d such that n ≡ ad (mod m). The problem at intermediate steps is that, e.g., v_{0} could be 0, or n or d could be too large.

Example 7.5. We compute an example using SAGE.

     sage: p = 389
     sage: k = GF(p)
     sage: a = k(7/13); a
     210
     sage: a.rational_reconstruction()
     7/13

7.3. Echelon Forms over ℚ

A difficulty with computation of the echelon form of a matrix over the rational numbers is that arithmetic with large rational numbers is potentially time consuming; each addition potentially requires a gcd and numerous additions and multiplications of integers. Moreover, the entries of A during intermediate steps of Algorithm 7.3 can be huge even though the entries of A and the answer are small. For example, suppose A is an invertible square matrix. Then the echelon form of A is the identity matrix, but during intermediate steps the numbers involved could be quite large. One technique for mitigating this is to compute the echelon form using a multi-modular method.

If A is a matrix with rational entries, let H(A) be the height of A, which is the maximum of the absolute values of the numerators and denominators of all entries of A. If x, y are rational numbers and p is a prime, we write x ≡ y (mod p) to mean that the denominators of x and y are not divisible by p but the numerator of the rational number x − y (in reduced form) is divisible by p. For example, if x = 5/7 and y = 2/11, then x − y = 41/77, so x ≡ y (mod 41).

Algorithm 7.6 (Multimodular Echelon Form). Given an m × n matrix A with entries in ℚ, this algorithm computes the reduced row echelon form of A.

(1) Rescale the input matrix A to have integer entries. This does not change the echelon form and makes reduction modulo many primes easier. We may thus assume A has integer entries.

(2) Let c be a guess for the height of the echelon form.

(3) List successive primes p_{1}, p_{2}, … such that the product of the p_{i} is bigger than n · c · H(A) + 1, where n is the number of columns of A.

(4) Compute the echelon forms B_{i} of the reduction A (mod p_{i}) using, e.g., Algorithm 7.3 or any other echelon algorithm.

(5) Discard any B_{i} whose pivot column list is not maximal among pivot lists of all B_{j} found so far. (The pivot list associated to B_{i} is the ordered list of integers k such that the kth column of B_{j} is a pivot column. We mean maximal with respect to the following ordering on integer sequences: shorter integer sequences are smaller, and if two sequences have the same length, then order in reverse lexicographic order. Thus [1, 2] is smaller than [1, 2, 3], and [1, 2, 7] is smaller than [1, 2, 5]. Think of maximal as “optimal”, i.e., best possible pivot columns.)

(6) Use the Chinese remainder theorem to find a matrix B with integer entries such that B ≡ B_{i} (mod p_{i}) for all p_{i}.

(7) Use Algorithm 7.4 to try to find a matrix C whose coefficients are rational numbers n/r such that |n|, r ≤ \sqrt{M/2}, where M = ∏ p_{i}, and C ≡ B_{i} (mod p_{i}) for each prime p. If rational reconstruction fails, compute a few more echelon forms mod the next few primes (using the above steps), and attempt rational reconstruction again. Let E be the matrix over ℚ so obtained. (A trick here is to keep track of denominators found so far to avoid doing very many rational reconstructions.)

(8) Compute the denominator d of E, i.e., the smallest positive integer such that dE has integer entries. If

(7.3.1)  H(dE) · H(A) · n < ∏ p_{i},

then E is the reduced row echelon form of A. If not, repeat the above steps with a few more primes.

Proof. We prove that if (7.3.1) is satisfied, then the matrix E computed by the algorithm really is the reduced row echelon form R of A. First note that E is in reduced row echelon form since the set of pivot columns of all matrices B_{i} used to construct E are the same, so the pivot columns of E are the same as those of any B_{i} and all other entries in the B_{i} pivot columns are 0, so the other entries of E in the pivot columns are also 0.

Recall from the end of Section 7.1 that a matrix whose columns are a basis for the kernel of A can be obtained from the reduced row echelon form R. Let K be the matrix whose columns are the vectors in the kernel algorithm applied to E, so EK = 0. Since the reduced row echelon form is got by left multiplying by an invertible matrix, for each i, there is an invertible matrices V_{i} mod p_{i} such that A ≡ V_{i}B_{i} (mod p_{i}) so

A · dK ≡ V_{i}B_{i} · dK ≡ V_{i} · dE · K ≡ 0 (mod p_{i}).

Since dK and A are integer matrices, the Chinese remainder theorem implies that

A · dK ≡ 0 (mod ∏ p_{i}) .

The integer entries a of A · dK all satisfy |a| ≤ H(A) · H(dK) · n, where n is the number of columns of A. Since H(K) ≤ H(E), the bound (7.3.1) implies that A · dK = 0. Thus AK = 0, so Ker(E) ⊂ Ker(A). On the other hand, the rank of E equals the rank of each B_{i} (since the pivot columns are the same), so

rank(E) = rank(B_{i}) = rank(A (mod p_{i})) ≤ rank(A).

Thus dim(Ker(A)) ≤ dim(Ker(E)), and combining this with the bound obtained above we see that Ker(E) = Ker(A). This implies that E is the reduced row echelon form of A, since two matrices have the same kernel if and only if they have the same reduced row echelon form (the echelon form is an invariant of the row space, and the kernel is the orthogonal complement of the row space).

The reason for Step 5 is that the matrices B_{i} need not be the reduction of R modulo p_{i}, and indeed this reduction might not even be defined, e.g., if p_{i} divides the denominator of some element of R, then this reduction makes no sense. For example, set p = p_{i} and suppose A = ( \begin{matrix}p & 1 \\ 0 & 0 \end{matrix} ). Then

R = ( \begin{matrix}1 & 1/p \\ 0 & 0 \end{matrix} ), which has no reduction modulo p; also, the reduction of A modulo B_{i} is B_{i} = ( \begin{matrix}0 & 1 \\ 0 & 0 \end{matrix} ) (mod p), which is already in reduced row echelon form. However if we were to combine B_{i} with the echelon form of A modulo another prime, the result could never be lifted using rational reconstruction. Thus the reason we exclude all B_{i} with non-maximal pivot column sequence is so that a rational reconstruction will exist. There are only finitely many primes that divide denominators of entries of R, so eventually all B_{i} will have maximal pivot column sequences, i.e., are the reduction of the true reduced row echelon form R, so the algorithm terminates. □

Remark 7.7. Algorithm 7.6, with sparse matrices seems to work very well in practice. A simple but helpful modification to Algorithm 7.3 in the sparse case is to clear each column using a row with a minimal number of nonzero entries, so as to reduce the amount of “fill in” (denseness) of the matrix. There are much more sophisticated methods along these lines called “intelligent Gauss elimination”. (Cryptographers are interested in linear algebra mod p with huge sparse matrices, since they come up in attacks on the discrete log problem and integer factorization.)

One can adapt Algorithm 7.6 to computation of echelon forms of matrices A over cyclotomic fields ℚ(ζ_{n}). Assume A has denominator 1. Let p be a prime that splits completely in ℚ(ζ_{n}). Compute the homomorphisms f_{i} : ℤ_{p}[ζ_{n}] → 𝔽_{p} by finding the elements of order n in 𝔽_{p}^{∗}. Then compute the mod p matrix f_{i}(A) for each i, and find its reduced row echelon form. Taken together, the maps f_{i} together induce an isomorphism Ψ : 𝔽_{p}[X]/Φ_{n}(X) ≅ 𝔽_{p}^{d}, where Φ_{n}(X) is the nth cyclotomic polynomial and d is its degree. It is easy to compute Ψ(f(x)) by evaluating f(x) at each element of order n in 𝔽_{p}. To compute Ψ^{−1} simply use linear algebra over 𝔽_{p} to invert a matrix that represents Ψ. Use Ψ^{−1} to compute the reduced row echelon form of A (mod p), where (p) is the non-prime ideal in ℤ[ζ_{n}] generated by p. Do this for several primes p, and use rational reconstruction on each coefficient of each power of ζ_{n}, to recover the echelon form of A.

7.4. Echelon Forms via Matrix Multiplication

In this section we explain how to compute echelon forms using matrix multiplication. This is valuable because there are asymptotically fast, i.e., better than O(n^{3}) field operations, algorithms for matrix multiplication, and implementations of linear algebra libraries often include highly-optimized matrix multiplication algorithms. We only sketch the basic ideas behind these asymptotically fast algorithms (following [Ste]), since more detail would take us too far from modular forms.

The naive algorithm for multiplying two m×m matrices requires O(m^{3}) arithmetic operations in the base ring. In [Str69], Strassen described a clever algorithm that computes the product of two m × m matrices in O(m^{log_{2}(7)}) = O(m^{2.807...}) arithmetic operations in the base ring. Because of numerical stability issues, Strassen’s algorithm is rarely used in numerical analysis. But for matrix arithmetic over exact base rings (e.g., the rational numbers, finite fields, etc.) it is of extreme importance.

In [Str69], Strassen also sketched a new algorithm for computing the inverse of a square matrix using matrix multiplication. Using this algorithm the number of operations to invert an m × m matrix is (roughly) the same as the number needed to multiply two m × m matrices. Suppose the input matrix is 2^{n} × 2^{n} and we write it in block form as ( \begin{matrix}A & B \\ C & D \end{matrix} ) where A, B, C, D are all 2^{n−1} × 2^{n−1} matrices. Assume that any intermediate matrices below that we invert are invertible. Consider the augmented matrix

( \begin{matrix}A & B & I & 0 \\ C & D & 0 & I \end{matrix} )

Multiply the top row by A^{−1} to obtain:

( \begin{matrix}I & A^{−1}B & A^{−1} & 0 \\ C & D & 0 & I \end{matrix} ) ,

and write E = A^{−1}B. Subtract C times the first row to the second row to get

( \begin{matrix}I & E & A^{−1} & 0 \\ 0 & D − CE & −CA^{−1} & I \end{matrix} )

Set F = D − CE and multiply by the bottom row by F^{−1} on the left to obtain

( \begin{matrix}I & E & A^{−1} & 0 \\ 0 & I & −F^{−1}CA^{−1} & F^{−1} \end{matrix} )

Set G = −F^{−1}CA^{−1}, and subtract E times the second from the first row to arrive at

( \begin{matrix}I & 0 & A^{−1} − EG & −EF^{−1} \\ 0 & I & G & F^{−1} \end{matrix} ) .

The idea listed above can, with significant work, be extended to a general algorithm (as is done in [Ste06]).

Next we very briefly sketch how to compute echelon forms of matrices using matrix multiplication and inversion. Its complexity is comparable to the complexity of matrix multiplication.

As motivation, recall the standard algorithm from undergraduate linear algebra for inverting an invertible square matrix A: form the augmented matrix [A|I], then compute the echelon form of this matrix, which is [I|A^{−1}]. If T is the transformation matrix to echelon form, then T [A|I] = [I|T], so T = A^{−1}. In particular, we could find the echelon form of [A|I] by multiplying on the left by A^{−1}. Likewise, for any matrix B with the same number of rows as A, we could find the echelon form of [A|B] by multiplying on the left by A^{−1}. The algorithm below extends this idea to compute arbitrary echelon forms using only matrix multiplication (and echelon form modulo one prime).

Algorithm 7.8 (Asymptotically Fast Echelon Form). Given a matrix A over the rational numbers (or a number field) this algorithm computes the echelon form of A.

(1) [Find pivots] Choose a random prime p (coprime to the denominator of any entry of A) and compute the echelon form of A (mod p), e.g., using Algorithm 7.3. Let c_{0}, …, c_{n−1} be the pivot columns of A (mod p). When computing the echelon form save the positions r_{0}, …, r_{n−1} of the rows used to clear each column.

(2) [Extract submatrix] Extract the n × n submatrix B of A whose entries are A_{r_{i},c_{j}} for 0 ≤ i, j ≤ n − 1.

(3) [Compute inverse] Compute the inverse B^{−1} of B. Note that B must be invertible since its reduction modulo p is invertible.

(4) [Multiply] Let C be the matrix whose rows are the rows r_{0}, …, r_{n−1} of A. Compute E = B^{−1}C. If E is not in echelon form go to Step 1.

(5) [Done?] Write down a matrix D whose columns are a basis for ker(E) as explained on page 107. Let F be the matrix whose rows are the rows of A other than rows r_{0}, …, r_{n−1}. Compute the product F D. If F D = 0 output E, which is the echelon form of A. If F D ≠ 0 go to Step 1 and run the whole algorithm again.

Proof. We prove both that the algorithm terminates and that when it terminates the matrix E is the echelon form of A.

First we prove that the algorithm terminates. Let E be the echelon form of A. By Exercise 7.3, for all but finitely many primes p (i.e., any prime where A (mod p) has the same rank as A) the echelon form of A (mod p) equals E (mod p). For any such prime p the pivot columns of E (mod p) are the pivot columns of E, so the algorithm will terminate for that choice of p.

We next prove that when the algorithm terminates E is the echelon form of A. By assumption, E is in echelon form and is obtained by multiplying C on the left by an invertible matrix, so E must be the echelon form of C. The rows of C are a subset of those of A, so the rows of E are a subset of the rows of the echelon form of A. Thus ker(A) ⊂ ker(E). To show that E equals the echelon form of A, we just need to verify that ker(E) ⊂ ker(A), i.e., that AD = 0, where D is as in Step 5. Since E is the echelon form of C, we know that CD = 0. By Step 5 we also know that F D = 0. Thus AD = 0, since the rows of A are the union of the rows of F and C.

□

Example 7.9. Let A be the 4 × 8 matrix

A = ( \begin{matrix}−9 & 6 & 7 & 3 & 1 & 0 & 0 & 0 \\ −10 & 3 & 8 & 2 & 0 & 1 & 0 & 0 \\ 3 & −6 & 2 & 8 & 0 & 0 & 1 & 0 \\ −8 & −6 & −8 & 6 & 0 & 0 & 0 & 1 \end{matrix} )

from Example 7.2.

     sage: M = MatrixSpace(QQ,4,8)
     sage: A = M([[-9,6,7,3,1,0,0,0],[-10,3,8,2,0,1,0,0],
                  [3,-6,2,8,0,0,1,0],[-8,-6,-8,6,0,0,0,1]])

First choose the “random” prime p = 41, which does not divide any of the entries of A, and compute the echelon form of the reduction of A modulo

     sage: A41 = MatrixSpace(GF(41),4,8)(A)
     sage: E41 = A41.echelon_form()

The echelon form of A (mod 41) is

( \begin{matrix}1 & 0 & 0 & 2 & 0 & 20 & 33 & 18 \\ 0 & 1 & 0 & 40 & 0 & 30 & 7 & 1 \\ 0 & 0 & 1 & 39 & 0 & 19 & 13 & 17 \\ 0 & 0 & 0 & 0 & 1 & 31 & 0 & 37 \end{matrix} ) .

Thus we take c_{0} = 0, c_{1} = 1, c_{2} = 2, and c_{3} = 4. Also r_{i} = i for i = 0, 1, 2, 3. Next extract the submatrix B.

     sage: B = A.matrix_from_columns([0,1,2,4])

The submatrix B is

B = ( \begin{matrix}−9 & 6 & 7 & 1 \\ −10 & 3 & 8 & 0 \\ 3 & −6 & 2 & 0 \\ −8 & −6 & −8 & 0 \end{matrix} )

The inverse of B is

B^{−1} = ( \begin{matrix}0 & −\frac{5}{92} & \frac{1}{46} & −\frac{9}{184} \\ 0 & −\frac{1}{138} & −\frac{3}{23} & −\frac{11}{276} \\ 0 & \frac{11}{184} & \frac{7}{92} & −\frac{17}{368} \\ 1 & −\frac{159}{184} & \frac{41}{92} & \frac{45}{368} \end{matrix} )

Multiplying by A yields

E = B^{−1}A = ( \begin{matrix}1 & 0 & 0 & −\frac{21}{92} & 0 & −\frac{5}{92} & \frac{1}{46} & −\frac{9}{184} \\ 0 & 1 & 0 & −\frac{179}{138} & 0 & −\frac{1}{138} & −\frac{3}{23} & −\frac{11}{276} \\ 0 & 0 & 1 & \frac{83}{184} & 0 & \frac{11}{184} & \frac{7}{92} & −\frac{17}{368} \\ 0 & 0 & 0 & \frac{1025}{184} & 1 & −\frac{159}{184} & \frac{41}{92} & \frac{45}{368} \end{matrix} ) ,

     sage: E = B^(-1)*A

This is not the echelon form of A. Indeed, it is not even in echelon form, since the last row is not normalized so the leftmost nonzero entry is 1. We thus choose another random prime, say p = 43. The echelon form mod 43 has columns 0, 1, 2, 3 as pivot columns. We thus extract the matrix

B = ( \begin{matrix}−9 & 6 & 7 & 3 \\ −10 & 3 & 8 & 2 \\ 3 & −6 & 2 & 8 \\ −8 & −6 & −8 & 6 \end{matrix} ) .

     sage: B = A.matrix_from_columns([0,1,2,3])

This matrix has inverse

B^{−1} = ( \begin{matrix}\frac{42}{1025} & −\frac{92}{1025} & \frac{1}{25} & −\frac{9}{205} \\ \frac{716}{3075} & −\frac{641}{3075} & −\frac{2}{75} & −\frac{7}{615} \\ −\frac{83}{1025} & \frac{133}{1025} & \frac{1}{25} & −\frac{23}{410} \\ \frac{184}{1025} & −\frac{159}{1025} & \frac{2}{25} & \frac{9}{410} \end{matrix} ) .

Finally, the echelon form of A is E = B^{−1}A. No further checking is needed since the produce so obtained is in echelon form, and the matrix F of the last step of the algorithm has 0 rows.

Remark 7.10. Above we have given only the barest sketch of asymptotically fast “block” algorithms for linear algebra. For an actual implementation with many further details worked out see [Ste06].

7.5. Decomposing Spaces Under the Action of Matrix

Efficiently solving the following problem is a crucial step in computing a basis of eigenforms for a space of modular forms (see Sections 3.7 and 9.3.2).

Problem 7.11. Suppose T is an n × n matrix with entries in a field K (typically a number field or finite field) and that the minimal polynomial of T is square free and has degree n. View T as acting on V = K^{n}. Find a simple module decomposition W_{0} ⊕ ⋯ ⊕ W_{m} of V as a direct sum of simple K[T]-modules. Equivalently, find an invertible matrix A such that A^{−1}T A is a block direct sum of matrices T_{0}, …, T_{m} such that the minimal polynomial of each T_{i} is irreducible.

Remark 7.12. A generalization of Problem 7.11 to arbitrary matrices with entries in ℚ is to finding the rational Jordan form (or rational canonical form, or Frobenius form) of T. This is like the usual Jordan form, but the resulting matrix is over ℚ and the summands of the matrix corresponding to eigenvalues are replaced by matrices whose minimal polynomials are the minimal polynomials (over ℚ) of the eigenvalues. The rational Jordan form was extensively studied by Geisbrecht in his Ph.D. thesis and many successive papers, where he analyzes the complexity of his algorithms, and observes that the limiting step is factoring polynomials over K. The reason is that given a polynomial f ∈ K[x], one can easily write down a matrix T such that one can can read off the factorization of f from the rational Jordan form of T (see also [Ste97]).

7.5.1. Characteristic Polynomials. The computation of characteristic polynomials of matrices is crucial to modular forms computations. There are many approaches to this problems: compute det(xI − A) symbolically (bad), compute the traces of the powers of A (bad), or compute the Hessenberg form modulo many primes and use CRT (bad, see [Coh93, §2.2.4] the definition of Hessenberg form and the algorithm). A more sophisticated method is to compute the rational canonical form of A using Giesbrecht’s algorithm^{1} (see [GS02]), which involve computing Krylov subspaces ( see Remark 7.13 below), and building up the whole space on which A acts. This latter method is a generalization of Wiedemann’s algorithm for computing minimal polynomials (see Section 7.5.3), but with more structure to handle the case when the characteristic polynomial is not equal to the minimal polynomial.

7.5.2. Polynomial Factorization. Factorization of polynomials in ℚ[X] (or over number fields) is an important step in computing an explicit basis of Hecke eigenforms for spaces of modular forms. The best known algorithm is the van Hoeij method [BHKS06], which uses the LLL lattice basis reduction algorithm [LLL82] in a novel way to solve the optimization problems that come up in trying to lift factorizations mod p to ℤ. It has been generalized by Belebas, Hoeij, Klüners, and Steel to number fields.

7.5.3. Wiedemann’s Minimal Polynomial Algorithm. In this section we describe an algorithm due to Wiedemann for computing the minimal polynomial of an n × n matrix A over a field.

Choose a random vector v and compute the iterates

(7.5.1) v_{0} = v, v_{1} = A(v), v_{2} = A^{2}(v), …, v_{2n−1} = A^{2n−1}(v).

If f = x^{m} + c_{m−1}x^{m−1} + ⋯ + c_{1}x + c_{0} is the minimal polynomial of A, then

A^{m} + c_{m−1}A^{m−1} + ⋯ + c_{0}I_{n} = 0,

where I_{n} is the n × n identity matrix. For any k ≥ 0, by multiplying both sides on the right by the vector A^{k}v, we see that

A^{m+k}v + c_{m−1}A^{m−1+k}v + ⋯ + c_{0}A^{k}v = 0,

hence

v_{m+k} + c_{m−1}v_{m−1+k} + ⋯ + c_{0}v_{k} = 0, all k ≥ 0.

Wiedemann’s idea is to observe that any single component of the vectors v_{0}, …, v_{2n−1} satisfies the linear recurrence with coefficients 1, c_{m−1}, …, c_{0}. The Berlekamp-Massey algorithm (see Algorithm 7.14 below) was introduced in the 1960s in the context of coding theory to find the minimal polynomial of a linear recurrence sequence {a_{r}}. The minimal polynomial of this linear recurrence is by definition the unique monic polynomial g, such that if {a_{r}} satisfies a linear recurrence a_{j+k} + b_{j−1}a_{j−1+k} + ⋯ + b_{0}a_{k} = 0 (for all k ≥ 0), then g divides the polynomial x^{j} + ∑_{i=0}^{j−1} b_{i}x^{i}. If we apply Berlekamp-Massey to the top coordinates of the v_{i}, we obtain a polynomial g_{0}, which divides f. We then apply it to the second to the top coordinates and find a polynomial g_{1} that divides f, etc., Taking the least common multiple of the first few g_{i}, we find a divisor of the minimal polynomial of f. One can show that with “high probability” one quickly finds f, instead of just a proper divisor of f.

1Allan Steel also invented a similar algorithm.

Remark 7.13. In the literature, techniques that involve iterating a vector as in (7.5.1) are often called Krylov methods. The subspace generated by the iterates of a vector under a matrix is called a Krylov subspace.

Algorithm 7.14 (Berlekamp-Massey). Suppose a_{0}, …, a_{2n−1} are the first 2n terms of a sequence that satisfies a linear recurrence of degree at most n. This algorithm computes the minimal polynomial f of the sequence.

(1) Let R_{0} = x^{2n}, R_{1} = ∑_{i=0}^{2n−1} a_{i}x^{i}, V_{0} = 0, V_{1} = 1.

(2) While deg(R_{1}) ≥ n do the following:

(a) Compute Q and R such that R_{0} = QR_{1} + R.

(b) Let (V_{0}, V_{1}, R_{0}, R_{1}) = (V_{1}, V_{0} − QV_{1}, R_{1}, R).

(3) Let d = max(deg(V_{1}), 1 + deg(R_{1})) and set P = x^{d}V_{1}(1/x).

(4) Let c be the leading coefficient of P and output f = P/c.

The above description of Berlekamp-Massey is taken from [ADT04], which contains some additional ideas for improvements.

Now suppose T is an n × n matrix as in Problem 7.11. We find the minimal polynomial of T by computing the minimal polynomial of T (mod p) using Wiedemann’s algorithm, for many primes p, and using the Chinese remainder theorem. (One has to bound the number of primes that must be considered; see, e.g., [Coh93].)

One can also compute the characteristic polynomial of T directly from the Hessenberg form of T, which can be computed in O(n^{4}) field operations, as described in [Coh93]. This is simple, but slow. Also, the T we consider will often be sparse, and Wiedemann is particularly good when T is sparse.

Example 7.15. We compute the minimal polynomial of

A = ( \begin{matrix}3 & 0 & 0 \\ 0 & 0 & 2 \\ −1 & 1/2 & −1 \end{matrix} )

using Wiedemann’s algorithm. Let v = (1, 0, 0)^{t}. Then

v = (1, 0, 0)^{t}, Av = (3, 0, −1)^{t}, A^{2}v = (9, −2, −2)^{t},
A^{3}v = (27, −4, −8)^{t}, A^{4}v = (81, −16, −21)^{t}, A^{5}v = (243, −42, −68)^{t}.

The linear recurrence sequence coming from the first entries is

1, 3, 9, 27, 81, 243.

This sequence satisfies the linear recurrence

a_{k+1} − 3a_{k} = 0, all k > 0

so its minimal polynomial is x − 3. This implies that x − 3 divides the minimal polynomial of the matrix A. Next we use the sequence of second coordinates of the iterates of v, which is

0, 0, −2, −4, −16, −42.

The recurrence that this sequence satisfies is slightly less obvious, so we apply the Berlekamp-Massey algorithm to find it, with n = 3.

(1) We have R_{0} = x^{6}, R_{1} = −42x^{5} − 16x^{4} − 4x^{3} − 2x^{2}, V_{0} = 0, V_{1} = 1.

(2) (a) Dividing R_{0} by R_{1}, we find

R_{0} = R_{1} (−\frac{1}{42}x + \frac{4}{441}) + (\frac{22}{441}x^{4} − \frac{5}{441}x^{3} + \frac{8}{441}x^{2})

(b) The new V_{0}, V_{1}, R_{0}, R_{1} are

V_{0} = 1
V_{1} = \frac{1}{42}x − \frac{4}{441}
R_{0} = −42x^{5} − 16x^{4} − 4x^{3} − 2x^{2}
R_{1} = \frac{22}{441}x^{4} − \frac{5}{441}x^{3} + \frac{8}{441}x^{2}

Since deg(R_{1}) ≥ n = 3, we have to do the above three steps again.

(3) We repeat the above three steps. (a) Dividing R_{0} by R_{1}, we find

R_{0} = R_{1} (−\frac{9261}{11}x − \frac{123921}{242}) + (\frac{1323}{242}x^{3} + \frac{882}{121}x^{2})

(b) The new V_{0}, V_{1}, R_{0}, R_{1} are:

V_{0} = \frac{1}{42}x − \frac{4}{441}
V_{1} = \frac{441}{22}x^{2} + \frac{2205}{484}x + \frac{441}{121}
R_{0} = \frac{22}{441}x^{4} − \frac{5}{441}x^{3} + \frac{8}{441}x^{2}
R_{1} = \frac{1323}{242}x^{3} + \frac{882}{121}x^{2}

(4) We have to repeat the steps yet again:

V_{0} = \frac{441}{22}x^{2} + \frac{2205}{484}x + \frac{441}{121}
V_{1} = −\frac{242}{1323}x^{3} + \frac{968}{3969}x^{2} + \frac{484}{3969}x − \frac{242}{3969}
R_{0} = \frac{1323}{242}x^{3} + \frac{882}{121}x^{2}
R_{1} = \frac{484}{3969}x^{2}

(5) We have d = 3, so P = −\frac{242}{3969}x^{3} + \frac{484}{3969}x^{2} + \frac{968}{3969}x − \frac{242}{1323}.

(6) Multiply through by −3969/242 and output

x^{3} − 2x^{2} − 4x + 3 = (x − 3)(x^{2} + x − 1).

The minimal polynomial of T_{2} is (x − 3)(x^{2} + x − 1), since the minimal polynomial has degree at most 3 and is divisible by (x − 3)(x^{2} + x − 1).

7.5.4. p-adic Nullspace. We will use the following algorithm of Dixon [Dix82] to compute p-adic approximations to solutions of linear equations over ℚ. Rational reconstruction modulo p^{n} then allows us to recover the corresponding solutions over ℚ.

Algorithm 7.16 (p-adic Nullspace). Given a matrix A with integer entries and nonzero kernel, this algorithm computes a nonzero element of ker(A) using successive p-adic approximations.

(1) [Prime] Choose a random prime p.

(2) [Echelon] Compute the echelon form of A modulo p.

(3) [Done?] If A has full rank modulo p it has full rank, so we terminate the algorithm.

(4) [Setup] Let b_{0} = 0.

(5) [Iterate] For each m = 0, 1, 2, …, k, use the echelon form of A modulo p to find a vector y_{m} with integer entries such that Ay_{m} ≡ b_{m} (mod p), then set

b_{m+1} = \frac{b_{m} − Ay_{m}}{p} .

(If m = 0, choose y_{m} ≠ 0.)

(6) [p-adic Solution] Let x = y_{0} + y_{1}p + y_{2}p^{2} + y_{3}p^{3} + ⋯ + y_{k}p^{k}.

(7) [Lift] Use rational reconstruction (Algorithm 7.4) to find a vector z with rational entries such that z ≡ x (mod p^{k+1}), if such a vector exists. If the vector does not exist, increase k or use a different p. Otherwise, output z.

Proof. We verify the case k = 2 only. We have Ay_{0} = 0 (mod p) and Ay_{1} = −\frac{Ay_{0}}{p} (mod p). Thus

Ay_{0} + pAy_{1} ≡ Ay_{0} + (−Ay_{0}) (mod p^{2}).
□

7.5.5. Decomposition Using Kernels. We now know enough to give an algorithm to solve Problem 7.11.

Algorithm 7.17 (Decomposition Using Kernels). Given an n×n matrix T over a field K as in Problem 7.11, this algorithm computes the decomposition of V as a direct sum of simple K[T] modules.

(1) [Minimal Polynomial] Compute the minimal polynomial f of T, e.g., using the multi-modular Wiedemann algorithm.

(2) [Factorization] Factor f using the algorithm in Section 7.5.2.

(3) [Compute Kernels] For each irreducible factor g_{i} of f:

(a) Compute the matrix A_{i} = g_{i}(T).

(b) Compute W_{i} = ker(A_{i}), e.g., using Algorithm 7.16.

(4) [Output Answer] Then V = ⊕W_{i}.

Remark 7.18. As mentioned in Remark 7.12, if one can compute such decompositions V = ⊕W_{i}, then one can easily factor polynomials f, hence the difficulty of polynomial factorization is a lower bound on the complexity of writing V as a direct sum of simples.

7.6. Exercises

7.1 Given a subspace W of k^{n}, where k is a field and n ≥ 0 is an integer, give an algorithm to find a matrix A such that W = Ker(A). 7.2 If rref(A) denotes the row reduced echelon form of A and p is a prime not dividing any denominator of any entry of A or of rref(A), is rref(A (mod p)) = rref(A) (mod p)?

7.3 Let A be a matrix with entries in ℚ. Prove that for all but finitely

many primes p we have rref(A (mod p)) = rref(A) (mod p). 7.4 Let

A = ( \begin{matrix}1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{matrix} )

(a) Compute the echelon form of A using each of Algorithm 7.3, 7.6, and 7.8.

(b) Compute the kernel of A.

(c) Find the characteristic polynomial of A using the algorithm of

Section 7.5.3. 7.5 The notion of echelon form extends to matrices whose entries come

from certain rings other than fields, e.g., Euclidean domains. In the case of matrices over ℤ we define a matrix to be in echelon form (or Hermite normal form) if it satisfies

• a_{ij} = 0, for i > j

• a_{ii} ≥ 0

• a_{ij} < a_{ii} for all j < i (unless a_{ii} = 0 in which case all a_{ij} = 0). There are algorithms for computing with finitely generated modules over ℤ that are analogous to the ones in this chapter for vector spaces, which depend on computation of the Hermite form.

(a) Show that the Hermite form of (\begin{matrix}1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{matrix}) is (\begin{matrix}1 & 2 & 3 \\ 0 & 3 & 6 \\ 0 & 0 & 0 \end{matrix}).

(b) Describe an algorithm for transforming a matrix an n × n matrix A with integer entries into Hermite form using row operations and the Euclidean algorithm.

General Modular Symbols

In this chapter we explain how to generalize the notion of modular symbols given in Chapter 3 to higher weight and more general level. We define Hecke operators on them and their relation to modular forms via the integration pairing. We omit many difficult proofs that modular symbols have certain properties, and instead focus on how to compute with modular symbols. For more details see the references given in this section (especially [Mer94]) and [Wie05].

Modular symbols are a formalism that make it elementary to compute with homology or cohomology related to certain Kuga-Sato varieties (these are E ×_{X} ⋯×_{X} E, where X is a modular curve and E is the universal elliptic curve over it). It is not necessary to know anything about these Kuga-Sato varieties in order to compute with modular symbols.

This chapter is about spaces of modular symbols and how to compute with them. It is by far the most important chapter in this book. The algorithms that build on the theory in this chapter are central to all the computations we will do later in the book.

This chapter closely follows Loïc Merel’s paper [Mer94]. First we define modular symbols of weight k ≥ 2. Then we define the corresponding Manin symbols, and state a theorem of Merel-Shokurov, which gives all relations between Manin symbols. (The proof of the Merel-Shokurov theorem is beyond the scope of this book, but is presented nicely in [Wie05].) Next we describe how the Hecke operators act on both modular and Manin symbols, and how to compute trace and inclusion maps between spaces of modular symbols of different levels.

Not only are modular symbols useful for computation, but they have been used to prove theoretical results about modular forms. For example, certain technical calculations with modular symbols are used in Loic Merel’s proof of the uniform boundedness conjecture for torsion points on elliptic curves over number fields (modular symbols are used to understand linear independence of Hecke operators). Another example is [Gri05], which distills hypotheses about Kato’s Euler system in K_{2} of modular curves to a simple formula involving modular symbols (when the hypotheses are satisfied, one obtains a lower bound on the Shafarevich-Tate group of an elliptic curve).

8.1. Modular Symbols

We recall from Chapter 3 the free abelian group 𝕄_{2} of modular symbols. We view these as elements of the relative homology of the extended upper half plane 𝔥^{∗} = 𝔥 ∪ ℙ^{1}(ℚ) relative to the cusps. The group 𝕄_{2} is the free abelian group on symbols {α, β} with

α, β ∈ ℙ^{1}(ℚ) = ℚ ∪ {∞}

modulo the relations

{α, β} + {β, γ} + {γ, α} = 0,

for all α, β, γ ∈ ℙ^{1}(ℚ), and all torsion. More precisely,

𝕄_{2} = (F/R)/(F/R)_{tor},

where F is the free abelian group on all pairs (α, β) and R is the subgroup generated by all elements of the form (α, β) + (β, γ) + (γ, α). Note that 𝕄_{2} is a huge free abelian group of countable rank.

For any integer n ≥ 0, let ℤ[X, Y]_{n} be the abelian group of homogeneous polynomials of degree n in two variables X, Y.

Remark 8.1. Note that ℤ[X, Y]_{n} is isomorphic to Sym^{n}(ℤ×ℤ) as a group, but certain natural actions are different. In [Mer94], Merel uses the notation ℤ_{n}[X, Y] for what we denote by ℤ[X, Y]_{n}.

Now fix an integer k ≥ 2. Set

𝕄_{k} = ℤ[X, Y]_{k−2} ⊗_{ℤ} 𝕄_{2},

which is a torsion-free abelian group whose elements are sums of expressions of the form X^{i}Y^{k−2−i} ⊗ {α, β}. For example,

X^{3} ⊗ {0, 1/2} − 17XY^{2} ⊗ {∞, 1/7} ∈ 𝕄_{5}.

Fix a finite index subgroup G of SL_{2}(ℤ). Define a left action of G on

ℤ[X, Y]_{k−2} as follows. If g = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ G and P (X, Y) ∈ ℤ[X, Y]_{k−2}, let

(gP)(X, Y) = P (dX − bY, −cX + aY).

Note that if we think of z = (X, Y) as a column vector, then

(gP)(z) = P (g^{−1}z),

since g^{−1} = ( \begin{matrix}d & −b \\ −c & a \end{matrix} ). The reason for the inverse is so that this is a left action instead of a right action, e.g., if g, h ∈ G, then

((gh)P)(z) = P ((gh)^{−1}z) = P (h^{−1}g^{−1}z) = (hP)(g^{−1}z) = (g(hP))(z).

Recall that we let G act on the left on 𝕄_{2} by

g{α, β} = {g(α), g(β)},

where G acts via linear fractional transformations, so if g = ( \begin{matrix}a & b \\ c & d \end{matrix} ), then

g(α) = \frac{aα + b}{cα + d}.

For example, useful special cases to remember are that if g = ( \begin{matrix}a & b \\ c & d \end{matrix} ) then

g(0) = \frac{b}{d}  and  g(∞) = \frac{a}{c}.

(Here we view ∞ as 1/0 in order to describe the action.)

We now combine these two actions to obtain a left action of G on 𝕄_{k}, which is given by

g(P ⊗ {α, β}) = (gP) ⊗ {g(α), g(β)}.

For example,

(\begin{matrix}1 & 2 \\ −2 & −3 \end{matrix}) .(X^{3} ⊗ \{0, 1/2\}) = (−3X − 2Y)^{3} ⊗ \{−\frac{2}{3}, −\frac{5}{8}\}

= (−27X^{3} − 54X^{2}Y − 36XY^{2} − 8Y^{3}) ⊗ \{−\frac{2}{3}, −\frac{5}{8}\} .

We will often write P (X, Y){α, β} for P (X, Y) ⊗ {α, β}.

Definition 8.2 (Modular Symbols). Let k ≥ 2 be an integer and let G be a finite index subgroup of SL_{2}(ℤ). The space 𝕄_{k}(G) of weight k modular symbols for G is the quotient of 𝕄_{k} by all relations gx−x for x ∈ 𝕄_{k}, g ∈ G, and by any torsion.

Note that 𝕄_{k} is a torsion free abelian group, and it is a nontrivial fact that 𝕄_{k} has finite rank. We denote modular symbols for G in exactly the same way we denote elements of 𝕄_{k}; the group G will be clear from context.

The space of modular symbols over a ring R is

𝕄_{k}(G; R) = 𝕄_{k}(G) ⊗_{ℤ} R.

8.2. Manin Symbols

Let G be a finite index subgroup of SL_{2}(ℤ) and k ≥ 2 an integer. Just as in Chapter 3 it is possible to compute 𝕄_{k}(G) using a computer, despite that, as defined above, 𝕄_{k}(G) is the quotient of one infinitely generated abelian group by another one. This section is about Manin symbols, which are a distinguished subset of 𝕄_{k}(G) that lead to a finite presentation for 𝕄_{k}(G). Formulas written in terms of Manin symbols are frequently much easier to compute using a computer than formulas in terms of modular symbols.

Suppose P ∈ ℤ[X, Y]_{k−2} and g ∈ SL_{2}(ℤ). Then the Manin symbol associated to this pair of elements is

[P, g] = g(P {0, ∞}) ∈ 𝕄_{k}(G).

Notice that if Gg = Gh, then [P, g] = [P, h], since the symbol g(P {0, ∞}) is invariant by the action of G on the left (by definition, since it is a modular symbols for G). Thus for a right coset Gg it makes sense to write [P, Gg] for the symbol [P, h] for any h ∈ Gg. Since G has finite index in SL_{2}(ℤ), the abelian group generated by Manin symbols is of finite rank, generated by

{[X^{k−2−i}Y^{i}, Gg_{j}] : i = 0, …, k − 2, and j = 0, …, r},

where g_{0}, …, g_{r} run through representatives for the right cosets G\ SL_{2}(ℤ).

We next show that every modular symbol can be written as a ℤ-linear combination of Manin symbols, so they generate 𝕄_{k}(G).

Proposition 8.3. The Manin symbols generate 𝕄_{k}(G).

Proof. The proof if very similar to that of Proposition 3.11 except we introduce an extra twist to deal with the polynomial part. Suppose that we are given a modular symbol P {α, β} and wish to represent it as a sum of Manin symbols. Because

P {a/b, c/d} = P {a/b, 0} + P {0, c/d},

it suffices to write P {0, a/b} in terms of Manin symbols. Let

0 = \frac{p_{−2}}{q_{−2}} = \frac{0}{1}, \frac{p_{−1}}{q_{−1}} = \frac{1}{0}, \frac{p_{0}}{1} = \frac{p_{0}}{q_{0}} , \frac{p_{1}}{q_{1}} , \frac{p_{2}}{q_{2}} , …, \frac{p_{r}}{q_{r}} = \frac{a}{b}

denote the continued fraction convergents of the rational number a/b. Then

p_{j}q_{j−1} − p_{j−1}q_{j} = (−1)^{j−1} for − 1 ≤ j ≤ r.

If we let g_{j} = (\begin{matrix}(−1)^{j−1}p_{j} & p_{j−1} \\ (−1)^{j−1}q_{j} & q_{j−1} \end{matrix}), then g_{j} ∈ SL_{2}(ℤ) and

P \{0, a/b\} = P ∑_{j=−1}^{r} \{\frac{p_{j−1}}{q_{j−1}} , \frac{p_{j}}{q_{j}} \}

= ∑_{j=−1}^{r} g_{j}((g_{j}^{−1}P){0, ∞})

= ∑_{j=−1}^{r}[g_{j}^{−1}P, g_{j}].

Since g_{j} ∈ SL_{2}(ℤ) and P has integer coefficients, the polynomial g_{j}^{−1}P also has integer coefficients, so we introduce no denominators. □

Now that we know the Manin symbols generate 𝕄_{k}(G), we next consider the relations between Manin symbols. Fortunately, the answer is fairly simple (though the proof is not). Let

σ = (\begin{matrix}0 & −1 \\ 1 & 0 \end{matrix}) ,  τ = (\begin{matrix}0 & −1 \\ 1 & −1 \end{matrix}) ,  J = (\begin{matrix}−1 & 0 \\ 0 & −1 \end{matrix}) .

Define a right action of SL_{2}(ℤ) on Manin symbols as follows. If h ∈ SL_{2}(ℤ), let

[P, g]h = [h^{−1}P, gh].

This is a right action because both P ↦ h^{−1}P and g ↦ gh are right actions.

Theorem 8.4. If x is a Manin symbol, then

(8.2.1)  x + xσ = 0
(8.2.2)  x + xτ + xτ^{2} = 0
(8.2.3)  x − xJ = 0.

Moreover, these are all the relations between Manin symbols, in the sense that the space 𝕄_{k}(G) of modular symbols is isomorphic to the quotient of the free abelian group on the finitely many symbols [X^{i}Y^{k−2−i}, Gg] (for i = 0, …, k − 2, and Gg ∈ G\ SL_{2}(ℤ)) by the above relations and any torsion.

Proof. First we prove that the Manin symbols satisfy the above relations. We follow Merel’s proof (see [Mer94, §1.2]). Note that

σ(0) = σ^{2}(∞) = ∞  and  τ(1) = τ^{2}(0) = ∞.

Write x = [P, g], we have

[P, g] + [P, g].σ = [P, g] + [σ^{−1}.P, gσ]
= g(P {0, ∞}) + gσ.(σ^{−1}.P {0, ∞})
= (gP){g(0), g(∞)} + (gσ).(σ^{−1}.P){gσ(0), gσ(∞)}
= (gP){g(0), g(∞)} + (gP){g(∞), g(0)}
= (gP)({g(0), g(∞)} + {g(∞), g(0)})
= 0.

Also,

[P, g] + [P, g].τ + [P, g].τ^{2} = [P, g] + [τ^{−1}.P, gτ] + [τ^{−2}.P, gτ^{2}]

= g(P {0, ∞}) + gτ.(τ^{−1}.P {0, ∞}) + gτ^{2}.(τ^{−2}.P {0, ∞})

= (gP){g(0), g(∞)} + (gP){gτ(0), gτ(∞)}) + (gP){gτ^{2}(0), τ^{2}(∞)}) = (gP){g(0), g(∞)} + (gP){g(1), g(0)}) + (gP){g(∞), g(1)}) = (gP)({g(0), g(∞)} + {g(∞), g(1)} + {g(1), g(0)}) = 0

Finally,

[P, g] + [P, g].J = g(P {0, ∞}) − gJ.(J^{−1}P {gJ(0), gJ(∞)}
= (gP){g(0), g(∞)} − (gP){g(0), g(∞)}
= 0,

where we use that J acts trivially via linear fractional transformations. This proves that the listed relations are all satisfied.

That the listed relations are all relations is more difficult to prove. One approach is to show (as in [Mer94, §1.3]) that the quotient of Manin symbols by the above relations and torsion is isomorphic to a space of Shokurov symbols, which is in turn isomorphic to 𝕄_{k}(G). A much better approach is to apply some results from group cohomology, as in [Wie05]. □

If G is a finite-index subgroup and we have an algorithm to enumerate the right cosets G\ SL_{2}(ℤ), and to decide which coset an arbitrary element of SL_{2}(ℤ) belongs to, then Theorem 8.4 and the algorithms of Chapter 7 yield an algorithm to compute 𝕄_{k}(G; ℚ). Note that if J ∈ G, then the relation x − xJ = 0 is automatic.

Remark 8.5. The matrices σ and τ do not commute, so in computing 𝕄_{k}(G; ℚ), one can not first quotient out by the two-term σ relations, then quotient out only the remaining free generators by the τ relations, and get the right answer in general.

8.2.1. Coset Representatives and Manin Symbols. The following is analogous to Proposition 3.10:

Proposition 8.6. The right cosets Γ_{1}(N)\ SL_{2}(ℤ) are in bijection with pairs (c, d) where c, d ∈ ℤ/Nℤ and gcd(c, d, N) = 1. The coset containing a matrix ( \begin{matrix}a & b \\ c & d \end{matrix} ) corresponds (c, d).

Proof. This proof is copied from [Cre92, pg. 203], except in that paper Cremona works with the analogue of Γ_{1}(N) in PSL_{2}(ℤ), so his result is slightly different. Suppose γ_{i} = ( \begin{matrix}a_{i} & b_{i} \\ c_{i} & d_{i} \end{matrix} ) ∈ SL_{2}(ℤ), for i = 1, 2. We have

γ_{1}γ_{2}^{−1} = (\begin{matrix}a_{1} & b_{1} \\ c_{1} & d_{1} \end{matrix}) (\begin{matrix}d_{2} & −b_{2} \\ −c_{2} & a_{2} \end{matrix}) = (\begin{matrix}a_{1}d_{2} − b_{1}c_{2} & ∗ \\ c_{1}d_{2} − d_{1}c_{2} & a_{2}d_{1} − b_{2}c_{1} \end{matrix}) ,

which is in Γ_{1}(N) if and only if

(8.2.4)  c_{1}d_{2} − d_{1}c_{2} ≡ 0 (mod N)

and

(8.2.5)  a_{2}d_{1} − b_{2}c_{1} ≡ a_{1}d_{2} − b_{1}c_{2} ≡ 1 (mod N).

Since the γ_{i} have determinant 1, if (c_{1}, d_{1}) = (c_{2}, d_{2}) (mod N), then the congruences (8.2.4–8.2.5) hold. Conversely, if (8.2.4–8.2.5) hold, then

c_{2} ≡ a_{2}d_{1}c_{2} − b_{2}c_{1}c_{2}
≡ a_{2}d_{2}c_{1} − b_{2}c_{2}c_{1} since d_{1}c_{2} ≡ d_{2}c_{1} (mod N)
≡ c_{1} since a_{2}d_{2} − b_{2}c_{2} = 1,

and likewise

d_{2} ≡ a_{2}d_{1}d_{2} − b_{2}c_{1}d_{2} ≡ a_{2}d_{1}d_{2} − b_{2}d_{1}c_{2} ≡ d_{1} (mod N).
□

Thus we may view weight k Manin symbols for Γ_{1}(N) as triples of integers (i, c, d), where 0 ≤ i ≤ k − 2 and c, d ∈ ℤ/Nℤ with gcd(c, d, N) = 1. Here (i, c, d) corresponds to the Manin symbol [X^{i}Y^{k−2−i}, ( \begin{matrix}a & b \\ c′ & d′ \end{matrix} )], where c′ and d′ are congruent to c, d (mod N). The relations of Theorem 8.4 become

(i, c, d) + (−1)^{i}(k − 2 − i, d, −c) = 0,

(i, c, d) + (−1)^{k−2} ∑_{j=0}^{k−2−i}(−1)^{j}\binom{k − 2 − i}{j}(j, d, −c − d)

+ (−1)^{k−2−i} ∑_{j=0}^{i}(−1)^{j}\binom{i}{j}(k − 2 − i + j, −c − d, c) = 0,
(i, c, d) − (−1)^{k−2}(i, −c, −d) = 0.

Recall that Proposition 3.10 gives a similar description for Γ_{0}(N).

8.2.2. Modular Symbols With Character. Suppose G = Γ_{1}(N). Define an action of diamond-bracket operators ⟨d⟩, with gcd(d, N) = 1 on Manin symbols as follows:

⟨d⟩([P, (u, v)]) = [P, (du, dv)] .

Let

ε : (ℤ/Nℤ)^{∗} → ℚ(ζ)^{∗}

be a Dirichlet character, where ζ is an nth root of unity and n is the order of ε. Let 𝕄_{k}(N, ε) be the quotient of 𝕄_{k}(Γ_{1}(N); ℤ[ζ]) by the relations (given in terms of Manin symbols)

⟨d⟩x − ε(d)x = 0,

for all x ∈ 𝕄_{k}(Γ_{1}(N); ℤ[ζ]), d ∈ (ℤ/Nℤ)^{∗}, and by any ℤ-torsion. Thus 𝕄_{k}(N, ε) is a ℤ[ε]-module that has no torsion when viewed as a ℤ-module.

8.3. Hecke Operators

Suppose Γ is a subgroup of SL_{2}(ℤ) of level N that contains Γ_{1}(N). Just as for modular forms, there is a commutative Hecke algebra 𝕋 = ℤ[T_{1}, T_{2}, …], which is the subring of End(𝕄_{k}(Γ)) generated by all Hecke operators. Let

R_{p} = \{(\begin{matrix}1 & r \\ 0 & p \end{matrix}) : r = 0, 1, …, p − 1\} ∪ \{(\begin{matrix}p & 0 \\ 0 & 1 \end{matrix})\} ,

where we omit ( \begin{matrix}p & 0 \\ 0 & 1 \end{matrix} ) if p | N. Then the Hecke operator T_{p} on 𝕄_{k}(Γ) is given by

T_{p}(x) = ∑_{g∈R_{p}} gx.

Notice when p ∤ N, that T_{p} is defined by summing over p + 1 matrices that correspond to the p + 1 subgroups of ℤ × ℤ of index p. This is exactly how we defined T_{p} on modular forms in Definition 2.25.

8.3.1. General Definition of Hecke Operators. Let Γ be a finite index subgroup of SL_{2}(ℤ) and suppose

Δ ⊂ GL_{2}(ℚ)

is a set such that ΓΔ = ΔΓ = Δ and Γ\Δ is finite. For example, Δ = Γ satisfies this condition. Also, if Γ = Γ_{1}(N), then for any positive integer n, the set

Δ_{n} = \{(\begin{matrix}a & b \\ c & d \end{matrix}) ∈ Mat_{2}(ℤ) : ad − bc = n, (\begin{matrix}a & b \\ c & d \end{matrix}) ≡ (\begin{matrix}1 & ∗ \\ 0 & n \end{matrix}) (mod N)\}

also satisfies this condition, as we will now prove.

Lemma 8.7. We have

Γ_{1}(N) · Δ_{n} = Δ_{n} · Γ_{1}(N) = Δ_{n}

and

Δ_{n} = ⋃_{a,b} Γ_{1}(N) · σ_{a} (\begin{matrix}a & b \\ 0 & n/a \end{matrix}) ,

where σ_{a} ≡ ( \begin{matrix}1/a & 0 \\ 0 & a \end{matrix} ) (mod N), the union is disjoint and 1 ≤ a ≤ n with a | n, gcd(a, N) = 1, and 0 ≤ b < n/a. In particular, the set of cosets Γ_{1}(N)\Δ_{n} is finite.

Proof. (This is Lemma 1 of [Mer94, §2.3].) If γ ∈ Γ_{1}(N) and δ ∈ Δ_{n}, then

(\begin{matrix}1 & ∗ \\ 0 & 1 \end{matrix}) · (\begin{matrix}1 & ∗ \\ 0 & n \end{matrix}) ≡ (\begin{matrix}1 & ∗ \\ 0 & n \end{matrix}) · (\begin{matrix}1 & ∗ \\ 0 & 1 \end{matrix}) ≡ (\begin{matrix}1 & ∗ \\ 0 & n \end{matrix}) (mod N).

Thus Γ_{1}(N)Δ_{n} ⊂ Δ_{n}, and since Γ_{1}(N) is a group Γ_{1}(N)Δ_{n} = Δ_{n}; likewise Δ_{n}Γ_{1}(N) = Δ_{n}.

For the coset decomposition, we first prove the statement for N = 1, i.e., for Γ_{1}(N) = SL_{2}(ℤ). If A is an arbitrary element of Mat_{2}(ℤ) with determinant n, then using row operators on the left with determinant 1, i.e., left multiplication by elements of SL_{2}(ℤ), we can transform A into the form ( \begin{matrix}a & b \\ 0 & n/a \end{matrix} ), with 1 ≤ a ≤ n and 0 ≤ b < n. (Just imagine applying the Euclidean algorithm to the two entries in the first column of A. Then a is the gcd of the two entries in the first column, and the lower left entry is 0. Next subtract n/a from b until 0 ≤ b < n/a.)

Next suppose N is arbitrary. Let g_{1}, …, g_{r} be such that

g_{1}Γ_{1}(N) ∪ ⋯ ∪ g_{r}Γ_{1}(N) = SL_{2}(ℤ)

is a disjoint union. If A ∈ Δ_{n} is arbitrary, then as we showed above, there is some γ ∈ SL_{2}(ℤ), so that γ · A = ( \begin{matrix}a & b \\ 0 & n/a \end{matrix} ), with 1 ≤ a ≤ n and 0 ≤ b < n/a, and a | n. Write γ = g_{i} · α, with α ∈ Γ_{1}(N). Then

α · A = g_{i}^{−1} · (\begin{matrix}a & b \\ 0 & n/a \end{matrix}) ≡ (\begin{matrix}1 & ∗ \\ 0 & n \end{matrix}) (mod N).

It follows that

g_{i}^{−1} ≡ (\begin{matrix}1 & ∗ \\ 0 & n \end{matrix}) · (\begin{matrix}a & b \\ 0 & n/a \end{matrix})^{−1} ≡ (\begin{matrix}1/a & ∗ \\ 0 & a \end{matrix}) (mod N).

Since ( \begin{matrix}1 & 1 \\ 0 & 1 \end{matrix} ) ∈ Γ_{1}(N) and gcd(a, N) = 1, there is γ′ ∈ Γ_{1}(N) such that

γ′g_{i}^{−1} ≡ (\begin{matrix}1/a & 0 \\ 0 & a \end{matrix}) (mod N).

We may then choose σ_{a} = γ′g_{i}^{−1}. Thus every A ∈ Δ_{n} is of the form γσ_{a} ( \begin{matrix}a & b \\ 0 & n/a \end{matrix} ), with γ ∈ Γ_{1}(N) and a, b suitably bounded. This proves the second claim. □

Let any element δ = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ GL_{2}(ℚ) act on the left on modular symbols 𝕄_{k} ⊗ ℚ by

δ(P {α, β}) = P (dX − bY, −cX + aY){δ(α), δ(β)}.

(Until now we had only defined an action of SL_{2}(ℤ) on modular symbols.) For g = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ GL_{2}(ℚ), let

(8.3.1)  g̃ = (\begin{matrix}d & −b \\ −c & a \end{matrix}) = det(g) · g^{−1}.

Note that ˜ g̃ = g. Also, δP (X, Y) = (P ∘ g̃)(X, Y), where we set

g̃(X, Y) = (dX − bY, −cX + aY).

Suppose Γ and Δ are as above. Fix a finite set R of representatives for Γ\Δ. Let

T_{Δ} : 𝕄_{k}(Γ) → 𝕄_{k}(Γ)

be the linear map

T_{Δ}(x) = ∑_{δ∈R} δx.

This map is well defined because if γ ∈ Γ and x ∈ 𝕄_{k}(Γ), then

∑_{δ∈R} δγx = ∑_{certain δ′} γδ′x = ∑_{certain δ′} δ′x = ∑_{δ∈R} δx,

where we have used that ΔΓ = ΓΔ, and Γ acts trivially on 𝕄_{k}(Γ).

Let Γ = Γ_{1}(N) and Δ = Δ_{n}. Then the nth Hecke operator T_{n} is T_{Δ_{n}}, and by Lemma 8.7,

T_{n}(x) = ∑_{a,b} σ_{a} (\begin{matrix}a & b \\ 0 & n/a \end{matrix}) · x,

where a, b are as in Lemma 8.7.

Given this definition, we can compute the Hecke operators on M_{k}(Γ_{1}(N)) as follows. Write x as a modular symbol P {α, β}, compute T_{n}(x) as a modular symbol, then convert to Manin symbols using continued fractions expansions. This is extremely inefficient; fortunately Loïc Merel (following [Maz73]) found a much better way, which we now describe (see [Mer94]).

8.3.2. Hecke Operators on Manin Symbols. If S is a subset of GL_{2}(ℚ), let

S̃ = {g̃ : g ∈ S},

where g̃ is as in (8.3.1). Also, for any ring R and any subset S ⊂ Mat_{2}(ℤ), let R[S] denote the free R-module with basis the elements of S, so the elements of R[S] are the finite R-linear combinations of the elements of S.

One of the main theorems of [Mer94] is that for any Γ, Δ satisfying the condition at the beginning of Section 8.3.1, if we can find ∑ u_{M}M ∈ ℂ[Mat_{2}(ℤ)] and a map

ϕ : Δ̃ SL_{2}(ℤ) → SL_{2}(ℤ)

that satisfies certain conditions, then for any Manin symbol [P, g] ∈ 𝕄_{k}(Γ), we have

T_{Δ}([P, g]) = ∑_{gM∈Δ̃ SL_{2}(ℤ) with M∈SL_{2}(ℤ)}u_{M}[M̃ · P, ϕ(gM)].

The paper [Mer94] contains many examples of ϕ and ∑ u_{M}M ∈ ℂ[Mat_{2}(ℤ)] that satisfy all of the conditions.

When Γ = Γ_{1}(N), the complicated list of conditions becomes simpler. Let Mat_{2}(ℤ)_{n} be the set of 2 × 2 matrices with determinant n. An element

h = ∑ u_{M}[M] ∈ ℂ[Mat_{2}(ℤ)_{n}]

satisfies condition C_{n} if for every K ∈ Mat_{2}(ℤ)_{n}/ SL_{2}(ℤ), we have that

(8.3.2)  ∑_{M∈K} u_{M}([M∞] − [M0]) = [∞] − [0] ∈ ℂ[P^{1}(ℚ)].

If h satisfies condition C_{n}, then for any Manin symbol [P, g] ∈ M_{k}(Γ_{1}(N)), Merel proves that

(8.3.3)  T_{n}([P, (u, v)]) = ∑_{M} u_{M}[P (aX + bY, cX + dY), (u, v)M].

Here (u, v) ∈ (ℤ/Nℤ)^{2} corresponds via Proposition 8.6 to a coset of Γ_{1}(N) in SL_{2}(ℤ), and if (u′, v′) = (u, v)M ∈ (ℤ/Nℤ)^{2}, and gcd(u′, v′, N) ≠ 1, then we omit the corresponding summand.

For example, we will now check directly that the element

h_{2} = [(\begin{matrix}2 & 0 \\ 0 & 1 \end{matrix})] + [(\begin{matrix}1 & 0 \\ 0 & 2 \end{matrix})] + [(\begin{matrix}2 & 1 \\ 0 & 1 \end{matrix})] + [(\begin{matrix}1 & 0 \\ 1 & 2 \end{matrix})]

satisfies condition C_{2}. We have, as in the proof of Lemma 8.7 (but using elementary column operations), that

Mat_{2}(ℤ)_{2}/ SL_{2}(ℤ) = \{(\begin{matrix}a & 0 \\ b & 2/a \end{matrix}) SL_{2}(ℤ) : a = 1, 2 and 0 ≤ b < 2/a\}

= \{(\begin{matrix}1 & 0 \\ 0 & 2 \end{matrix}) SL_{2}(ℤ), (\begin{matrix}1 & 0 \\ 1 & 2 \end{matrix}) SL_{2}(ℤ), (\begin{matrix}2 & 0 \\ 0 & 1 \end{matrix}) SL_{2}(ℤ)\} .

To verify condition C_{2}, consider each of the 3 elements of Mat_{2}(ℤ)_{2}/ SL_{2}(ℤ) and check that (8.3.2) holds. We have that

(\begin{matrix}1 & 0 \\ 0 & 2 \end{matrix}) ∈ (\begin{matrix}1 & 0 \\ 0 & 2 \end{matrix}) SL_{2}(ℤ),

(\begin{matrix}2 & 1 \\ 0 & 1 \end{matrix}) , (\begin{matrix}1 & 0 \\ 1 & 2 \end{matrix}) ∈ (\begin{matrix}1 & 0 \\ 1 & 2 \end{matrix}) SL_{2}(ℤ),

and

(\begin{matrix}2 & 0 \\ 0 & 1 \end{matrix}) ∈ (\begin{matrix}2 & 0 \\ 0 & 1 \end{matrix}) SL_{2}(ℤ).

Thus if K = ( \begin{matrix}1 & 0 \\ 0 & 2 \end{matrix} ) SL_{2}(ℤ), the left sum of (8.3.2) is [( \begin{matrix}1 & 0 \\ 0 & 2 \end{matrix} ) (∞)]−[( \begin{matrix}1 & 0 \\ 0 & 2 \end{matrix} ) (0)] = [∞] − [0], as required. If K = ( \begin{matrix}1 & 0 \\ 1 & 2 \end{matrix} ) SL_{2}(ℤ), then the left side of (8.3.2) is

[( \begin{matrix}2 & 1 \\ 0 & 1 \end{matrix} ) (∞)] − [( \begin{matrix}2 & 1 \\ 0 & 1 \end{matrix} ) (0)] + [( \begin{matrix}1 & 0 \\ 1 & 2 \end{matrix} ) (∞)] − [( \begin{matrix}1 & 0 \\ 1 & 2 \end{matrix} ) (0)]
= [∞] − [1] + [1] − [0] = [∞] − [0].

Finally, for K = ( \begin{matrix}2 & 0 \\ 0 & 1 \end{matrix} ) SL_{2}(ℤ) we also have [( \begin{matrix}2 & 0 \\ 0 & 1 \end{matrix} ) (∞)]−[( \begin{matrix}2 & 0 \\ 0 & 1 \end{matrix} ) (0)] = [∞]−[0], as required. Thus by (8.3.3) we can compute T_{2} on any Manin symbol, by summing over the action of the four matrices ( \begin{matrix}2 & 0 \\ 0 & 1 \end{matrix} ) , ( \begin{matrix}1 & 0 \\ 0 & 2 \end{matrix} ) , ( \begin{matrix}2 & 1 \\ 0 & 1 \end{matrix} ) , ( \begin{matrix}1 & 0 \\ 1 & 2 \end{matrix} ).

Proposition 8.8 (Merel). The element

∑_{\begin{matrix}a>b≥0 \\ d>c≥0 \\ ad−bc=n \end{matrix}} [(\begin{matrix}a & b \\ c & d \end{matrix})] ∈ ℤ[Mat_{2}(ℤ)_{n}]

satisfies condition C_{n}.

Merel’s two-page proof of Proposition 8.8 is fairly elementary.

Remark 8.9. In [Cre97a, §2.4], Cremona discusses the work of Merel and Mazur on Heilbronn matrices in the special cases Γ = Γ_{0}(N) and weight 2. He gives a simple proof that the action of T_{p} on Manin symbols can be computed by summing the action of some set R_{p} of matrices of determinant p. He then describes the set R_{p}, and gives an efficient continued fractions algorithm for computing it (but he does not prove that his R_{p} satisfy Merel’s hypothesis).

8.3.3. Remarks on Complexity. Merel also gives another family S_{n} of matrices that satisfy condition C_{n}, and he proves that as n → ∞,

#S_{n} ∼ \frac{12 log(2)}{π^{2}} · σ_{1}(n) log(n),

where σ_{1}(n) is the sum of the divisors of n. Thus for a fixed space 𝕄_{k}(Γ) of modular symbols, one can compute T_{n} using O(σ_{1}(n) log(n)) arithmetic operations in the base field. Note that we have fixed 𝕄_{k}(Γ), so we ignore the linear algebra involved in computation of a presentation; also, adding elements takes a bounded number of field operations when the space is fixed. Thus using Manin symbols the complexity of computing T_{p}, for p prime, is O((p+1) log(p)) field operations, which is exponential in the number of digits of p.

8.3.4. Basmaji’s Trick. There is a trick of Basmaji (see [Bas96]) for computing a matrix of T_{n} on 𝕄_{k}(Γ), when n is very large, and it is more efficient than one might naively expect. Basmaji’s trick does not improve the big-oh complexity for a fixed space, but does improve the complexity by a constant factor of the dimension of 𝕄_{k}(Γ; ℚ). Suppose we are interested in computing the matrix for T_{n} for some massive integer n, and that 𝕄_{k}(Γ; ℚ) has large dimension. The trick is as follows. Choose, a list

x_{1} = [P_{1}, g_{1}], …, x_{r} = [P_{r}, g_{r}] ∈ V = 𝕄_{k}(Γ; ℚ)

of Manin symbols such that the map Ψ : 𝕋 → V^{r} given by

t ↦ (tx_{1}, …, tx_{r})

is injective. In practice, it is often possible to do this with r “very small”. Also, we emphasize that V^{r} is a ℚ-vector space of dimension r · dim(V).

Next find Hecke operators T_{i}, with i small, whose images form a basis for the image of Ψ. Now with the above data precomputed, which only required working with Hecke operators T_{i} for small i, we are ready to compute T_{n} with n huge. Compute y_{i} = T_{n}(x_{i}), for each i = 1, …, r, which we can compute using Heilbronn matrices since each x_{i} = [P_{i}, g_{i}] is a Manin symbol. We thus obtain Ψ(T_{n}) ∈ V^{r}. Since we have precomputed Hecke operators T_{j} such that Ψ(T_{j}) generate V^{r}, we can find a_{j} such that ∑ a_{j}Ψ(T_{j}) = Ψ(T_{n}). Then since Ψ is injective, we have T_{n} = ∑ a_{j}T_{j}, which gives the full matrix of T_{n} on M_{k}(Γ; ℚ).

8.4. Cuspidal Modular Symbols

Let 𝔹 be the free abelian group on symbols {α}, for α ∈ ℙ^{1}(ℚ), and set

𝔹_{k} = ℤ[X, Y]_{k−2} ⊗ 𝔹.

Define a left action of SL_{2}(ℤ) on 𝔹_{k} by

g.(P {α}) = (gP){g(α)},

for g ∈ SL_{2}(ℤ). For any finite index subgroup Γ ⊂ SL_{2}(ℤ), let 𝔹_{k}(Γ) be the quotient of 𝔹_{k} by the relations x − g.x for all g ∈ Γ and by any torsion. Thus 𝔹_{k}(Γ) is a torsion free abelian group.

The boundary map is the map

b : 𝕄_{k}(Γ) → 𝔹_{k}(Γ)

given by extending the map

b(P {α, β}) = P {β} − P {α}

linearly. The space 𝕊_{k}(Γ) of cuspidal modular symbols is the kernel

𝕊_{k}(Γ) = ker(𝕄_{k}(Γ) → 𝔹_{k}(Γ)),

so we have an exact sequence

0 → 𝕊_{k}(Γ) → 𝕄_{k}(Γ) → 𝔹_{k}(Γ).

One can prove that when k > 2 this sequence is exact on the right.

Next we give a presentation of 𝔹_{k}(Γ) in terms of “boundary Manin symbols”.

8.4.1. Boundary Manin Symbols. We give an explicit description of the boundary map in terms of Manin symbols for Γ = Γ_{1}(N), then describe an efficient way to compute the boundary map.

Let R be the equivalence relation on Γ\ℚ^{2} given by

[Γ ( \begin{matrix}λu \\ λv \end{matrix} )] ∼ sign(λ)^{k}[Γ ( \begin{matrix}u \\ v \end{matrix})],

for any λ ∈ ℚ^{∗}. Denote by B_{k}(Γ) the finite dimensional ℚ-vector space with basis the equivalence classes (Γ\ℚ^{2})/R. The following two propositions are proved in [Mer94].

Proposition 8.10. The map

μ : 𝔹_{k}(Γ) → B_{k}(Γ), P \{\frac{u}{v}\} ↦ P (u, v) [Γ (\begin{matrix}u \\ v \end{matrix})]

is well defined and injective. Here u and v are assumed coprime.

Thus the kernel of δ : 𝕊_{k}(Γ) → 𝔹_{k}(Γ) is the same as the kernel of μ ∘ δ.

Proposition 8.11. Let P ∈ V_{k−2} and g = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ SL_{2}(ℤ). We have

μ ∘ δ([P, (c, d)]) = P (1, 0)[Γ ( \begin{matrix}a \\ c \end{matrix})] − P (0, 1)[Γ ( \begin{matrix}b \\ d \end{matrix} )].

We next describe how to explicitly compute μ ∘ δ : 𝕄_{k}(N, ε) → B_{k}(N, ε) by generalizing the algorithm of [Cre97a, §2.2]. To compute the image of [P, (c, d)], with g = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ SL_{2}(ℤ), we must compute the class of [( \begin{matrix}a \\ c \end{matrix})] and of [( \begin{matrix}b \\ d \end{matrix} )]. Instead of finding a canonical form for cusps, we use a quick test for equivalence modulo scalars. In the following algorithm, by the ith symbol we mean the ith basis vector for a basis of B_{k}(N, ε). This basis is constructed as the algorithm is called successively. We first give the algorithm, then prove the facts used by the algorithm in testing equivalence.

Algorithm 8.12 (Cusp Representation). Given a boundary Manin symbol [( \begin{matrix}u \\ v \end{matrix})] this algorithm outputs an integer i and a scalar α such that [( \begin{matrix}u \\ v \end{matrix})] is equivalent to α times the ith symbol found so far. (We call this algorithm repeatedly and maintain a running list of cusps seen so far.)

(1) Use Proposition 3.21 to check whether or not [( \begin{matrix}u \\ v \end{matrix})] is equivalent, modulo scalars, to any cusp found. If so, return the representative, its index, and the scalar. If not, record ( \begin{matrix}u \\ v \end{matrix}) in the representative list.

(2) Using Proposition 8.16, check whether or not [( \begin{matrix}u \\ v \end{matrix})] is forced to equal 0 by the relations. If it does not equal 0, return its position in the list and the scalar 1. If it equals 0, return the scalar 0 and the position 1; keep ( \begin{matrix}u \\ v \end{matrix}) in the list, and record that it is equivalent to 0.

The case considered in Cremona’s book [Cre97a] only involve the trivial character, so no cusp classes are forced to vanish. Cremona gives the following two criteria for equivalence.

Proposition 8.13 (Cremona). Consider ( \begin{matrix}u_{i} \\ v_{i} \end{matrix}), i = 1, 2, with u_{i}, v_{i} integers such that gcd(u_{i}, v_{i}) = 1 for each i.

(1) There exists g ∈ Γ_{0}(N) such that g ( \begin{matrix}u_{1} \\ v_{1} \end{matrix} ) = ( \begin{matrix}u_{2} \\ v_{2} \end{matrix} ) if and only if

s_{1}v_{2} ≡ s_{2}v_{1} (mod gcd(v_{1}v_{2}, N)), where s_{j} satisfies u_{j}s_{j} ≡ 1 (mod v_{j}).

(2) There exists g ∈ Γ_{1}(N) such that g ( \begin{matrix}u_{1} \\ v_{1} \end{matrix} ) = ( \begin{matrix}u_{2} \\ v_{2} \end{matrix} ) if and only if
v_{2} ≡ v_{1} (mod N) and u_{2} ≡ u_{1} (mod gcd(v_{1}, N)).

Proof. The first statement is [Cre97a, Prop. 2.2.3], and the second is [Cre92, Lem. 3.2]. □

Algorithm 8.14 (Explicit Cusp Equivalence). Suppose ( \begin{matrix}u_{1} \\ v_{1} \end{matrix} ) and ( \begin{matrix}u_{2} \\ v_{2} \end{matrix} ) are equivalent modulo Γ_{0}(N). This algorithm computes a matrix g ∈ Γ_{0}(N) such that g ( \begin{matrix}u_{1} \\ v_{1} \end{matrix} ) = ( \begin{matrix}u_{2} \\ v_{2} \end{matrix} ).

(1) Let s_{1}, s_{2}, r_{1}, r_{2} be solutions to s_{1}u_{1} −r_{1}v_{1} = 1 and s_{2}u_{2} −r_{2}v_{2} = 1.

(2) Find integers x_{0} and y_{0} such that x_{0}v_{1}v_{2} + y_{0}N = 1.

(3) Let x = −x_{0}(s_{1}v_{2} − s_{2}v_{1})/(v_{1}v_{2}, N) and s′_{1} = s_{1} + xv_{1}.

(4) Output g = ( \begin{matrix}u_{2} & r_{2} \\ v_{2} & s_{2} \end{matrix} ) · ( \begin{matrix}u_{1} & r_{1} \\ v_{1} & s′_{1} \end{matrix} )^{−1}, which sends ( \begin{matrix}u_{1} \\ v_{1} \end{matrix} ) to ( \begin{matrix}u_{2} \\ v_{2} \end{matrix} ).

Proof. See the proof of [Cre97a, Prop. 8.13]. □

The ε relations can make the situation more complicated, since it is possible that ε(α) ≠ ε(β) but

ε(α) [(\begin{matrix}u \\ v \end{matrix})] = [γ_{α} (\begin{matrix}u \\ v \end{matrix})] = [γ_{β} (\begin{matrix}u \\ v \end{matrix})] = ε(β) [(\begin{matrix}u \\ v \end{matrix})] .

One way out of this difficulty is to construct the cusp classes for Γ_{1}(N), then quotient out by the additional ε relations using Gaussian elimination. This is far too inefficient to be useful in practice because the number of Γ_{1}(N) cusp classes can be unreasonably large. Instead, we give a quick test to determine whether or not a cusp vanishes modulo the ε-relations.

Lemma 8.15. Suppose α and α′ are integers such that gcd(α, α′, N) = 1. Then there exist integers β and β′, congruent to α and α′ modulo N, respectively, such that gcd(β, β′) = 1.

Proof. By Exercise 8.2 the map SL_{2}(ℤ) → SL_{2}(ℤ/Nℤ) is surjective. By the Euclidean algorithm, there exist integers x, y and z such that xα+yα′+zN = 1. Consider the matrix ( \begin{matrix}y & −x \\ α & α′ \end{matrix} ) ∈ SL_{2}(ℤ/Nℤ) and take β, β′ to be the bottom row of a lift of this matrix to SL_{2}(ℤ). □

Proposition 8.16. Let N be a positive integer and ε a Dirichlet character of modulus N. Suppose ( \begin{matrix}u \\ v \end{matrix}) is a cusp with u and v coprime. Then ( \begin{matrix}u \\ v \end{matrix}) vanishes modulo the relations

[γ ( \begin{matrix}u \\ v \end{matrix})] = ε(γ) [( \begin{matrix}u \\ v \end{matrix})] , all γ ∈ Γ_{0}(N)

if and only if there exists α ∈ (ℤ/Nℤ)^{∗}, with ε(α) ≠ 1, such that

v ≡ αv (mod N),
u ≡ αu (mod gcd(v, N)).

Proof. First suppose such an α exists. By Lemma 8.15 there exists β, β′ ∈ ℤ lifting α, α^{−1} such that gcd(β, β′) = 1. The cusp ( \begin{matrix}βu \\ β′v \end{matrix} ) has coprime coordinates so, by Proposition 8.13 and our congruence conditions on α, the cusps ( \begin{matrix}βu \\ β′v \end{matrix} ) and ( \begin{matrix}u \\ v \end{matrix}) are equivalent by an element of Γ_{1}(N). This implies

that [( \begin{matrix}βu \\ β′v \end{matrix} )] = [( \begin{matrix}u \\ v \end{matrix})]. Since [( \begin{matrix}βu \\ β′v \end{matrix} )] = ε(α) [( \begin{matrix}u \\ v \end{matrix})] and ε(α) ≠ 1, we have

[( \begin{matrix}u \\ v \end{matrix})] = 0.

Conversely, suppose [( \begin{matrix}u \\ v \end{matrix})] = 0. Because all relations are two-term relations, and the Γ_{1}(N)-relations identify Γ_{1}(N)-orbits, there must exists α and β with

[γ_{α} (\begin{matrix}u \\ v \end{matrix})] = [γ_{β} (\begin{matrix}u \\ v \end{matrix})] and ε(α) ≠ ε(β).

Indeed, if this did not occur, then we could mod out by the ε relations by writing each [γ_{α} ( \begin{matrix}u \\ v \end{matrix})] in terms of [( \begin{matrix}u \\ v \end{matrix})], and there would be no further relations left to kill [( \begin{matrix}u \\ v \end{matrix})]. Next observe that

[γ_{β^{−1}α} (\begin{matrix}u \\ v \end{matrix})] = [γ_{β^{−1}}γ_{α} (\begin{matrix}u \\ v \end{matrix})]

= ε(β^{−1}) [γ_{α} (\begin{matrix}u \\ v \end{matrix})] = ε(β^{−1}) [γ_{β} (\begin{matrix}u \\ v \end{matrix})] = [(\begin{matrix}u \\ v \end{matrix})] .

Applying Proposition 8.13 and noting that ε(β^{−1}α) ≠ 1 shows that β^{−1}α satisfies the properties of the “α” in the statement of the proposition. □

We enumerate the possible α appearing in Proposition 8.16 as follows. Let g = (v, N) and list the α = v · \frac{N}{g} · a + 1, for a = 0, …, g − 1, such that ε(α) ≠ 0.

8.5. Pairing Modular Symbols and Modular Forms

In this section we define a pairing between modular symbols and modular forms that the Hecke operators respect. We also define an involution on modular symbols, and study its relationship with the pairing. This pairing is crucial in much that follows, because it gives rise to period maps from modular symbols to certain complex vector spaces.

Fix an integer weight k ≥ 2 and a finite-index subgroup Γ of SL_{2}(ℤ). Let M_{k}(Γ) denote the space of holomorphic modular forms of weight k for Γ, and S_{k}(Γ) its cuspidal subspace. Following [Mer94, §1.5], let

(8.5.1)  \overline{S}_{k}(Γ) = \{\overline{f} : f ∈ S_{k}(Γ)\}

denote the space of antiholomorphic cusp forms. Here \overline{f} is the function on 𝔥^{∗} given by \overline{f}(z) = \overline{f(z)}.

Define a pairing

(8.5.2)  (S_{k}(Γ) ⊕ \overline{S}_{k}(Γ)) × 𝕄_{k}(Γ) → ℂ

by letting

⟨(f_{1}, f_{2}), P \{α, β\}⟩ = ∫_{α}^{β} f_{1}(z)P (z, 1)dz + ∫_{α}^{β} f_{2}(z)P (\overline{z}, 1)d\overline{z},

and extending linearly. Here the integral is a complex path integral along a simple path from α to β in 𝔥 (so, e.g., write z(t) = x(t) + iy(t), where (x(t), y(t)) traces out the path, and consider two real integrals).

Proposition 8.17. The integration pairing is well defined, i.e., if we replace P {α, β} by an equivalent modular symbols (equivalent modulo the left action of Γ), then the integral is the same.

Proof. This follows from the change of variables formulas for integration and that f_{1} ∈ S_{k}(Γ) and f_{2} ∈ \overline{S}_{k}(Γ). For example, if k = 2, g ∈ Γ and f ∈ S_{k}(Γ), then

⟨f, g{α, β}⟩ = ⟨f, {g(α), g(β)}⟩
= ∫_{g(α)}^{g(β)} f(z)dz
= ∫_{α}^{β} f(g(z))dg(z)
= ∫_{α}^{β} f(z)dz = ⟨f, {α, β}⟩,

where f(g(z))dg(z) = f(z)dz because f is a weight 2 modular form. For the case of arbitrary weight k > 2, see Exercise 8.4. □

The integration pairing is very relevant to the study of special values of L-functions. The L-function of a cusp form f = ∑ a_{n}q^{n} ∈ S_{k}(Γ_{1}(N)) is

(8.5.3)  L(f, s) = (2π)^{s}Γ(s)^{−1} ∫_{0}^{∞} f(it)t^{s} \frac{dt}{t}

= ∑_{n=1}^{∞} \frac{a_{n}}{n^{s}} for Re(s) ≫ 0. (8.5.4)

The equality of the integral and the Dirichlet series follows by switching the order of summation and integration, which is justified using standard estimates on |a_{n}| (see, e.g., [Kna92, §VIII.5]).

For each integer j with 1 ≤ j ≤ k − 1, we have setting s = j and making the change of variables t ↦ −it in (8.5.3), that

(8.5.5)  L(f, j) = \frac{(−2πi)^{j}}{(j − 1)!} · ⟨f, X^{j−1}Y^{k−2−(j−1)}\{0, ∞\}⟩ .

The integers j as above are called critical integers. When f is an eigenform, they have deep conjectural significance (see [BK90, Sch90]). One can approximate L(f, j) to any desired precision by computing the above pairing explicitly using the method described in Chapter 10. Alternatively, [Dok04] contains methods for computing special values of very general L-functions, which can be used for approximating L(f, s) for arbitrary s, in addition to just the critical integers 1, …, k − 1.

Theorem 8.18 (Shokoruv). The pairing

⟨· , ·⟩ : (S_{k}(Γ) ⊕ \overline{S}_{k}(Γ)) × 𝕊_{k}(Γ, ℂ) → ℂ

is a nondegenerate pairing of complex vector spaces.

Proof. This is [Sho80b, Thm. 0.2] and [Mer94, §1.5]. □

Corollary 8.19. We have

dim_{ℂ} 𝕊_{k}(Γ, ℂ) = 2 dim_{ℂ} S_{2}(Γ).

The pairing is also compatible with Hecke operators. Before proving this, we define an action of Hecke operators on M_{k}(Γ_{1}(N)) and on \overline{S}_{k}(Γ_{1}(N)). The definition is similar to the one we gave in Section 2.4 for modular forms of level 1. For a positive integer n, let R_{n} be a set of coset representatives for Γ_{1}(N)\Δ_{n} from Lemma 8.7. For any γ = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ GL_{2}(ℚ) and f ∈ M_{k}(Γ_{1}(N)) set

f^{[γ]_{k}} = det(γ)^{k−1}(cz + d)^{−k}f(γ(z)).

Also, for f ∈ \overline{S}_{k}(Γ_{1}(N)), set

f^{[γ]′_{k}} = det(γ)^{k−1}(c\overline{z} + d)^{−k}f(γ(z)).

Then for f ∈ M_{k}(Γ_{1}(N)),

T_{n}(f) = ∑_{γ∈R_{n}} f^{[γ]_{k}}

and for f ∈ \overline{S}_{k}(Γ_{1}(N)),

T_{n}(f) = ∑_{γ∈R_{n}} f^{[γ]′_{k}}.

This agrees with the definition from 2.4 when N = 1.

Remark 8.20. If Γ is an arbitrary finite index subgroup of SL_{2}(ℤ), then we can define operators T_{Δ} on M_{k}(Γ) for any Δ with ΔΓ = ΓΔ = Δ and Γ\Δ finite. For concreteness we do not do the general case here or in the theorem below, but the proof is exactly the same (see [Mer94, §1.5]).

Finally we prove the promised Hecke compatibility of the pairing. This proof should convince you that the definition of modular symbols is sensible, in that they are natural objects to integrate against modular forms.

Theorem 8.21. If

f = (f_{1}, f_{2}) ∈ S_{k}(Γ_{1}(N)) ⊕ \overline{S}_{k}(Γ_{1}(N))

and x ∈ 𝕄_{k}(Γ_{1}(N)), then for any n,

⟨T_{n}(f), x⟩ = ⟨f, T_{n}(x)⟩.

Proof. We follow [Mer94, §2.1] (but with more details), and will only prove the theorem when f = f_{1} ∈ S_{k}(Γ_{1}(N)), the proof in the general case being the same.

Let α, β ∈ ℙ^{1}(ℚ), P ∈ ℤ[X, Y]_{k−2}, and for g = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ GL_{2}(ℚ), set

j(g, z) = cz + d.

Let n be any positive integer, and let R_{n} be a set of coset representatives for Γ_{1}(N)\Δ_{n} from Lemma 8.7.

We have

⟨T_{n}(f), P {α, β}⟩ = ∫_{α}^{β} T_{n}(f)P (z, 1)dz

= ∑_{δ∈R} ∫_{α}^{β} det(δ)^{k−1}f(δ(z))j(δ, z)^{−k}P (z, 1)dz.

Now for each summand corresponding to the δ ∈ R, make the change of variables u = δz. Thus we make #R change of variables. Also, we will use the notation

g̃ = (\begin{matrix}d & −b \\ −c & a \end{matrix}) = det(g) · g^{−1}

for g ∈ GL_{2}(ℚ). We have

⟨T_{n}(f), P {α, β}⟩ =

∑_{δ∈R} ∫_{δ(α)}^{δ(β)} det(δ)^{k−1}f(u)j(δ, δ^{−1}(u))^{−k}P (δ^{−1}(u), 1)d(δ^{−1}(u)).

We have δ^{−1}(u) = δ̃(u), since a linear fractional transformation is unchanged by a nonzero rescaling of a matrix that induces it. Thus by the quotient rule, using that δ̃ has determinant det(δ), we see that

d(δ^{−1}(u)) = d(δ̃(u)) = \frac{det(δ)du}{j(δ̃, u)^{2}}.

We next show that

(8.5.6)  j(δ, δ^{−1}(u))^{−k}P (δ^{−1}(u), 1) = j(δ̃, u)^{k} det(δ)^{−k}P (δ̃(u), 1).

From the definitions, and again using that δ^{−1}(u) = δ̃(u), we see that

j(δ, δ^{−1}(u)) = \frac{det(δ)}{j(δ̃, u)},

which proves that (8.5.6) holds. Thus

⟨T_{n}(f), P {α, β}⟩ =

∑_{δ∈R} ∫_{δ(α)}^{δ(β)} det(δ)^{k−1}f(u)j(δ̃, u)^{k} det(δ)^{−k}P (δ̃(u), 1)\frac{det(δ)du}{j(δ̃, u)^{2}}.

Next we use that

(δ.P)(u, 1) = j(δ̃, u)^{k−2}P (δ̃(u), 1).

To see this, note that P (X, Y) = P (X/Y, 1) · Y^{k−2}. Using this we see that

(δ.P)(X, Y) = (P ∘ δ̃)(X, Y)

= P (δ̃(\frac{X}{Y} ) , 1) · (−c · \frac{X}{Y} + a)^{k−2} · Y^{k−2}.

Now substituting (u, 1) for (X, 1), we see that

(δ.P)(u, 1) = P (δ̃(u), 1) · (−cu + a)^{k−2},

as required. Thus finally

⟨T_{n}(f), P {α, β}⟩ = ∑_{δ∈R} ∫_{δ(α)}^{δ(β)} f(u)j(δ̃, u)^{k−2}P (δ̃(u), 1)du

= ∑_{δ∈R} ∫_{δ(α)}^{δ(β)} f(u) · ((δ.P)(u, 1))du

= ⟨f, T_{n}(P {α, β})⟩.

□

Suppose that Γ is a finite index subgroup of SL_{2}(ℤ) such that if η =

( \begin{matrix}−1 & 0 \\ 0 & 1 \end{matrix} ), then

ηΓη = Γ.

For example, Γ = Γ_{1}(N) satisfies this condition. There is an involution ι^{∗} on 𝕄_{k}(Γ) given by

(8.5.7)  ι^{∗}(P (X, Y){α, β}) = −P (X, −Y){−α, −β},

which we call the star involution. On Manin symbols, ι^{∗} it is

(8.5.8)  ι^{∗}[P, (u, v)] = −[P (−X, Y), (−u, v)].

Let 𝕊_{k}(Γ)^{+} be the +1 eigenspace for ι^{∗} on 𝕊_{k}(Γ), and let 𝕊_{k}(Γ)^{−} be the −1 eigenspace. There is also a map ι on modular forms, which is adjoint to ι^{∗}.

Remark 8.22. Notice the minus sign in front of −P (X, −Y){−α, −β} in (8.5.7). This sign is missing in [Cre97a], which is a potential source of confusion (this is not a mistake, but a different choice of convention).

We now state the final result about the pairing, which explains how modular symbols and modular forms are related.

Theorem 8.23. The integration pairing ⟨· , ·⟩ induces nondegenerate Hecke compatible bilinear pairings

𝕊_{k}(Γ)^{+} × S_{k}(Γ) → ℂ  and  𝕊_{k}(Γ)^{−} × \overline{S}_{k}(Γ) → ℂ.

Remark 8.24. We make some remarks about computing the boundary map of Section 8.4.1 when working in the ±1 quotient. Let s be a sign, either +1 or −1. To compute 𝕊_{k}(N, ε)_{s} it is necessary to replace B_{k}(N, ε) by its quotient modulo the additional relations [( \begin{matrix}−u \\ v \end{matrix})] = s [( \begin{matrix}u \\ v \end{matrix})] for all cusps ( \begin{matrix}u \\ v \end{matrix}). Algorithm 8.12 can be modified to deal with this situation as follows. Given a cusp x = ( \begin{matrix}u \\ v \end{matrix}), proceed as in Algorithm 8.12 and check if either ( \begin{matrix}u \\ v \end{matrix}) or ( \begin{matrix}−u \\ v \end{matrix}) is equivalent (modulo scalars) to any cusp seen so far. If not, use the following trick to determine whether the ε and s-relations kill the class of ( \begin{matrix}u \\ v \end{matrix}): use the unmodified Algorithm 8.12 to compute the scalars α_{1}, α_{2} and indices i_{1}, i_{2} associated to ( \begin{matrix}u \\ v \end{matrix}) and ( \begin{matrix}−u \\ v \end{matrix}), respectively. The s-relation kills the class of ( \begin{matrix}u \\ v \end{matrix}) if and only if i_{1} = i_{2} but α_{1} ≠ sα_{2}.

8.6. Degeneracy Maps

In this section, we describe natural maps between spaces of modular symbols with character of different levels. We consider spaces with character, since they are so important in applications.

Fix a positive integer N and a Dirichlet character ε : (ℤ/Nℤ)^{∗} → ℂ^{∗}. Let M be a positive divisor of N that is divisible by the conductor of ε, in the sense that ε factors through (ℤ/Mℤ)^{∗} via the natural map (ℤ/Nℤ)^{∗} → (ℤ/Mℤ)^{∗} composed with some uniquely defined character ε′ : (ℤ/Mℤ)^{∗} → ℂ^{∗}. For any positive divisor t of N/M, let T = ( \begin{matrix}1 & 0 \\ 0 & t \end{matrix}) and fix a choice D_{t} = {T γ_{i} : i = 1, …, n} of coset representatives for Γ_{0}(N)\T Γ_{0}(M).

Remark 8.25. Note that [Mer94, §2.6] contains a typo: The quotient “Γ_{1}(N)\Γ_{1}(M)T ” should be replaced by “Γ_{1}(N)\T Γ_{1}(M)”.

Proposition 8.26. For each divisor t of N/M there are well-defined linear maps

α_{t} : 𝕄_{k}(N, ε) → 𝕄_{k}(M, ε′),  α_{t}(x) = (tT^{−1})x = (\begin{matrix}t & 0 \\ 0 & 1 \end{matrix}) x
β_{t} : 𝕄_{k}(M, ε′) → 𝕄_{k}(N, ε),  β_{t}(x) = ∑_{T γ_{i}∈D_{t}} ε′(γ_{i})^{−1}T γ_{i}x.

Furthermore, α_{t} ∘ β_{t} is multiplication by t^{k−2} · [Γ_{0}(M) : Γ_{0}(N)].

Proof. To show that α_{t} is well defined, we must show that for each x ∈ 𝕄_{k}(N, ε) and γ = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ Γ_{0}(N), that we have

α_{t}(γx − ε(γ)x) = 0 ∈ 𝕄_{k}(M, ε′).

We have

α_{t}(γx) = (\begin{matrix}t & 0 \\ 0 & 1 \end{matrix}) γx = (\begin{matrix}a & tb \\ c/t & d \end{matrix}) (\begin{matrix}t & 0 \\ 0 & 1 \end{matrix}) x = ε′(a) (\begin{matrix}t & 0 \\ 0 & 1 \end{matrix}) x,

so

α_{t}(γx − ε(γ)x) = ε′(a)α_{t}(x) − ε(γ)α_{t}(x) = 0.

We next verify that β_{t} is well defined. Suppose that x ∈ 𝕄_{k}(M, ε′) and γ ∈ Γ_{0}(M); then ε′(γ)^{−1}γx = x, so

β_{t}(x) = ∑_{T γ_{i}∈D_{t}} ε′(γ_{i})^{−1}T γ_{i}ε′(γ)^{−1}γx

= ∑_{T γ_{i}γ∈D_{t}} ε′(γ_{i}γ)^{−1}T γ_{i}γx.

This computation shows that the definition of β_{t} does not depend on the choice D_{t} of coset representatives. To finish the proof that β_{t} is well defined we must show that, for γ ∈ Γ_{0}(M), we have β_{t}(γx) = ε′(γ)β_{t}(x) so that β_{t} respects the relations that define 𝕄_{k}(M, ε). Using that β_{t} does not depend on the choice of coset representative, we find that for γ ∈ Γ_{0}(M),

β_{t}(γx) = ∑_{T γ_{i}∈D_{t}} ε′(γ_{i})^{−1}T γ_{i}γx

= ∑_{T γ_{i}γ^{−1}∈D_{t}} ε′(γ_{i}γ^{−1})^{−1}T γ_{i}γ^{−1}γx

= ε′(γ)β_{t}(x).

To compute α_{t} ∘ β_{t}, we use that #D_{t} = [Γ_{0}(N) : Γ_{0}(M)]:

α_{t}(β_{t}(x)) = α_{t} (∑_{T γ_{i}} ε′(γ_{i})^{−1}T γ_{i}x)

= ∑_{T γ_{i}} ε′(γ_{i})^{−1}(tT^{−1})T γ_{i}x

= t^{k−2} ∑_{T γ_{i}} ε′(γ_{i})^{−1}γ_{i}x

= t^{k−2} ∑_{T γ_{i}} x

= t^{k−2} · [Γ_{0}(N) : Γ_{0}(M)] · x.

The scalar factor of t^{k−2} appears instead of t, because t is acting on x as an element of GL_{2}(ℚ) not as an an element of ℚ. □

Definition 8.27 (New and old modular symbols). The space 𝕄_{k}(N, ε)_{new} of new modular symbols is the intersection of the kernels of the α_{t} as t runs through all positive divisors of N/M and M runs through positive divisors of M strictly less than N and divisible by the conductor of ε. The subspace 𝕄_{k}(N, ε)_{old} of old modular symbols is the subspace generated by the images of the β_{t} where t runs through all positive divisors of N/M and M runs through positive divisors of M strictly less than N and divisible by the conductor of ε. The new and old subspaces of cuspidal modular symbols are the intersections of the above spaces with 𝕊_{k}(N, ε).

Example 8.28. The new and old subspaces need not be disjoint, as the following example illustrates! (This contradicts [Mer94, pg. 80].) Consider, for example, the case N = 6, k = 2, and trivial character. The spaces 𝕄_{2}(Γ_{0}(2)) and 𝕄_{2}(Γ_{0}(3)) are each of dimension 1, and each is generated by the modular symbol {∞, 0}. The space 𝕄_{2}(Γ_{0}(6)) is of dimension 3, and is generated by the 3 modular symbols {∞, 0}, {−1/4, 0}, and {−1/2, −1/3}. The space generated by the 2 images of 𝕄_{2}(Γ_{0}(2)) under the 2 degeneracy maps has dimension 2, and likewise for 𝕄_{2}(Γ_{0}(3)). Together these images generate 𝕄_{2}(Γ_{0}(6)), so 𝕄_{2}(Γ_{0}(6)) is equal to its old subspace. However, the new subspace is nontrivial because the two degeneracy maps 𝕄_{2}(Γ_{0}(6)) → 𝕄_{2}(Γ_{0}(2)) are equal, as are the two degeneracy maps

𝕄_{2}(Γ_{0}(6)) → 𝕄_{2}(Γ_{0}(3)).

In particular, the intersection of the kernels of the degeneracy maps has dimension at least 1 (in fact, it equals 1). We verify some of the above claims using SAGE.

     sage: M = ModularSymbols(Gamma0(6)); M
     Modular Symbols space of dimension 3 for Gamma_0(6) of weight 2
     with sign 0 over Rational Field
     sage: M.new_subspace()
     Modular Symbols subspace of dimension 1 of Modular Symbols
     space of dimension 3 for Gamma_0(6) of weight 2 with sign 0
     over Rational Field
     sage: M.old_subspace()
     Modular Symbols subspace of dimension 3 of Modular Symbols
     space of dimension 3 for Gamma_0(6) of weight 2 with sign 0
     over Rational Field

8.7. Explicitly Computing 𝕄_{k}(Γ_{0}(N))

In this section we explicitly compute 𝕄_{k}(Γ_{0}(N)) for various k and N. We represent Manin symbols for Γ_{0}(N) as triples of integers (i, u, v), where (u, v) ∈ ℙ^{1}(ℤ/Nℤ), and (i, u, v) corresponds to [X^{i}Y^{k−2−i}, (u, v)] in the usual notation. Also, recall from Proposition 3.10 that (u, v) corresponds to the right coset of Γ_{0}(N) that contains a matrix ( \begin{matrix}a & b \\ c & d \end{matrix} ) with (u, v) ≡ (c, d) as elements of ℙ^{1}(ℤ/Nℤ), i.e., up to rescaling by an element of (ℤ/Nℤ)^{∗}.

8.7. Explicitly Computing 𝕄_{k}(Γ_{0}(N)) 147

8.7.1. Computing ℙ^{1}(ℤ/Nℤ). In this section we give an algorithm to compute a canonical representative for each element of ℙ^{1}(ℤ/Nℤ). This algorithm is extremely important because modular symbols implementations call it a huge number of times. A more naive approach would be to store all pairs (u, v) ∈ (ℤ/Nℤ)^{2}, and a fixed reduced representative, but this wastes a huge amount of memory. For example, if N = 10^{5}, we would store an array of

2 · 10^{5} · 10^{5} = 20 billion integers.

Another approach to enumerating ℙ^{1}(ℤ/Nℤ) is described at the end of [Cre97a, §2.2]. It uses that is easy to test whether two pairs (u_{0}, v_{0}), (u_{1}, v_{1}) define the same element of ℙ^{1}(ℤ/Nℤ); they do if and only if we have equality of cross terms u_{0}v_{1} = v_{0}u_{1} (mod N) (see [Cre97a, Prop. 2.2.1]). So we consider the 0-based list of elements

(8.7.1)  (1, 0), (1, 1), …, (1, N − 1), (0, 1)

concatenated with the list of non-equivalent elements (d, a) for d | N and a = 1, …, N − 1, checking each time we add a new element to our list (of (d, a)) whether we have already seen it.

Given a random pair (u, v) the problem is then to find the index of the element of our list of the equivalent representative in ℙ^{1}(ℤ/Nℤ). We use the following algorithm, which finds a canonical representative for each element of ℙ^{1}(ℤ/Nℤ). Given an arbitrary (u, v), we first find the canonical equivalent elements (u′, v′). If u′ = 1, then the index is v′. If u′ ≠ 1, we find the corresponding element in an explicit sorted list, e.g., using binary search.

In the following algorithm, a (mod N) denotes the residue of a modulo N that satisfies 0 ≤ a < N. Note that we never create and store the list (8.7.1) itself in memory.

Algorithm 8.29 (Reduction in ℙ^{1}(ℤ/Nℤ) to Canonical Form). Given u and v and a positive integer N, this algorithm outputs a pair u_{0}, v_{0} such that (u, v) ≡ (u_{0}, v_{0}) as elements of ℙ^{1}(ℤ/Nℤ) and s ∈ ℤ such that (u, v) = (su_{0}, sv_{0}) (mod ℤ/nℤ). Moreover, the element (u_{0}, v_{0}) does not depend on the class of (u, v), i.e., for any s with gcd(N, s) = 1 the input (su, sv) also outputs (u_{0}, v_{0}). If (u, v) is not in ℙ^{1}(ℤ/Nℤ), this algorithm outputs (0, 0), 0.

(1) [Reduce] Reduce both u and v modulo N.

(2) [Easy (0, 1) case] If u = 0 check that gcd(v, N) = 1. If so, return s = 1 and (0, 1); otherwise return 0.

(3) [GCD] Compute g = gcd(u, N) and s, t ∈ ℤ such that g = su + tN.

(4) [Not in P^{1}?] We have gcd(u, v, N) = gcd(g, v), so if gcd(g, v) > 1, then (u, v) ∉ ℙ^{1}(ℤ/Nℤ), and we return 0.

(5) [Pseudo-Inverse] Now g = su+tN, so we may think of s as “pseudoinverse” of u (mod N), in the sense that su is as close as possible to being 1 modulo N. Note that since g | u, changing s modulo N/g does not change su (mod N). We can adjust s modulo N/g so it is coprime to N (by adding multiples of N/g to s. (This is because 1 = su/g + tN/g, so s is a unit mod N/g, and the map (ℤ/Nℤ)^{∗} → (ℤ/(N/g)ℤ)^{∗} is surjective, e.g., as we saw in the proof of Algorithm 4.27.)

(6) [Multiply by s] Multiply (u, v) by s, and replace (u, v) by the equivalent element (g, sv) of ℙ^{1}(ℤ/Nℤ).

(7) [Normalize] Compute the unique pair (g, v′) equivalent to (g, v) that minimizes v, as follows:

(a) [Easy case] If g = 1 this pair is (1, v).

(b) [Enumerate and find best] Otherwise, note that if 1 ≠ t ∈ (ℤ/Nℤ)^{∗} and tg ≡ g (mod N), then (t − 1)g ≡ 0 (mod N), so t − 1 = kN/g for some k with 1 ≤ k ≤ g − 1. Then for t = 1 + kN/g coprime to N, we have (gt, vt) = (g, v + kvN/g). So we compute all pairs (g, v + kvN/g) and pick out the one that minimizes the least nonnegative residue of vt modulo N.

(c) [Invert s and Output] The s that we computed in the above steps multiples the input (u, v) to give the output (u_{0}, v_{0}). Thus we invert it, since the scalar we output multiplies (u_{0}, v_{0}) to give (u, v).

Remark 8.30. Alternatively one could use that

ℙ^{1}(ℤ/Nℤ) ≅ ∏_{p|N} ℙ^{1}(ℤ/p^{ν_{p}}ℤ),

and that it is relatively easy to enumerate the elements of ℙ^{1}(ℤ/p^{n}ℤ) for a prime power p^{n}.

Algorithm 8.31 (List ℙ^{1}(ℤ/Nℤ)). Given an integer N > 1, this algorithm makes a sorted list of the distinct representatives (c, d) of ℙ^{1}(ℤ/Nℤ) with c ≠ 0, 1, as output by Algorithm 8.29.

(1) For each c = 1, …, N − 1 with g = gcd(c, N) > 1 do the following:

(a) Use Algorithm 8.29 to compute the canonical representative (u′, v′) equivalent to (c, 1), and include it in the list.

(b) If g = c, for each d = 2, …, N − 1 with gcd(d, N) > 1 and gcd(c, d) = 1, append the normalized representative of (c, d) to the list.

(2) Sort the list

(3) Pass through the sorted list and delete any duplicates.

8.8. Explicit Examples

Explicit detailed examples are crucial when implementing modular symbols algorithms from scratch. This section contains a number of such examples.

8.8.1. Examples of Computation of 𝕄_{k}(Γ_{0}(N)). In this section, we compute 𝕄_{k}(Γ_{0}(N)) explicitly in a few cases.

Example 8.32. We compute V = 𝕄_{4}(Γ_{0}(1)). Because S_{k}(Γ_{0}(1)) = 0, and M_{k}(Γ_{0}(1)) = ℂE_{4}, we expect V to have dimension 1, and for each integer n the Hecke operator T_{n} to have eigenvalue the sum σ_{3}(n) of the cubes of positive divisors of n.

The Manin symbols are

x_{0} = (0, 0, 0), x_{1} = (1, 0, 0), x_{2} = (2, 0, 0).

The relation matrix is

(\begin{matrix}1 & 0 & 1 \\ 0 & 0 & 0 \\ 2 & − 2 & 2 \\ 1 & − 1 & 1 \\ 2 & − 2 & 2 \end{matrix}) ,

where the first 2 rows correspond to S relations and the second three to T relations. Note that we do not include all S relations, since it is obvious that some are redundant, e.g., x + xS = 0 and (xS) + (xS)S = xS + x = 0 are the same since S has order 2.

The echelon form of the relation matrix is

(\begin{matrix}1 & 0 & 1 \\ 0 & 1 & 0 \end{matrix}) ,

where we have deleted the zero rows from the bottom. Thus we may replace the above complicated list of relations with the following simpler list of relations:

x_{0} + x_{2} = 0
x_{1} = 0

from which we immediately read off that the second generator x_{1} is 0 and x_{0} = −x_{2}. Thus 𝕄_{4}(Γ_{0}(1)) has dimension 1, with basis the equivalence class of x_{2} (or of x_{0}).

Next we compute the Hecke operator T_{2} on 𝕄_{4}(Γ_{0}(1)). The Heilbronn matrices of determinant 2 from Proposition 8.8 are

h_{0} = (\begin{matrix}1 & 0 \\ 0 & 2 \end{matrix}) , h_{1} = (\begin{matrix}1 & 0 \\ 1 & 2 \end{matrix}) , h_{2} = (\begin{matrix}2 & 0 \\ 0 & 1 \end{matrix}) , h_{3} = (\begin{matrix}2 & 1 \\ 0 & 1 \end{matrix}) .

150 8. General Modular Symbols To compute T_{2}, we apply each of these matrices to x_{0}, then reduce modulo the relations. We have

x_{2}. (\begin{matrix}1 & 0 \\ 0 & 2 \end{matrix}) = [X^{2}, (0, 0)]. (\begin{matrix}1 & 0 \\ 0 & 2 \end{matrix}) x_{2}
x_{2}. (\begin{matrix}1 & 0 \\ 1 & 2 \end{matrix}) = [X^{2}, (0, 0)] = x_{2}
x_{2}. (\begin{matrix}2 & 0 \\ 0 & 1 \end{matrix}) = [(2X)^{2}, (0, 0)] = 4x_{2}
x_{2}. (\begin{matrix}2 & 1 \\ 0 & 1 \end{matrix}) = [(2X + 1)^{2}, (0, 0)] = x_{0} + 4x_{1} + 4x_{2} ∼ 3x_{2}

Summing we see that T_{2}(x_{2}) ∼ 9x_{2} in 𝕄_{4}(Γ_{0}(1)). Notice that

9 = 1^{3} + 2^{3} = σ_{3}(2). The Merel Heilbronn matrices of determinant 3 from Proposition 8.8 are

h_{0} = (\begin{matrix}1 & 0 \\ 0 & 3 \end{matrix}) , h_{1} = (\begin{matrix}1 & 0 \\ 1 & 3 \end{matrix}) , h_{2} = (\begin{matrix}1 & 0 \\ 2 & 3 \end{matrix}) , h_{3} = (\begin{matrix}2 & 1 \\ 1 & 2 \end{matrix}) ,
h_{4} = (\begin{matrix}3 & 0 \\ 0 & 1 \end{matrix}) , h_{5} = (\begin{matrix}3 & 1 \\ 0 & 1 \end{matrix}) , h_{6} = (\begin{matrix}3 & 2 \\ 0 & 1 \end{matrix}) .

We have

x_{2}. (\begin{matrix}1 & 0 \\ 0 & 3 \end{matrix}) = [X^{2}, (0, 0)]. (\begin{matrix}1 & 0 \\ 0 & 3 \end{matrix}) = x_{2}
x_{2}. (\begin{matrix}1 & 0 \\ 1 & 3 \end{matrix}) = [X^{2}, (0, 0)] = x_{2}
x_{2}. (\begin{matrix}1 & 0 \\ 2 & 3 \end{matrix}) = [X^{2}, (0, 0)] = x_{2}
x_{2}. (\begin{matrix}2 & 1 \\ 2 & 2 \end{matrix}) = [(2X + 1)^{2}, (0, 0)] = x_{0} + 4x_{1} + 4x_{2} ∼ 3x_{2}
x_{2}. (\begin{matrix}3 & 0 \\ 0 & 1 \end{matrix}) = [(3X)^{2}, (0, 0)] = 9x_{2}
x_{2}. (\begin{matrix}3 & 1 \\ 0 & 1 \end{matrix}) = [(3X + 1)^{2}, (0, 0)] = x_{0} + 6x_{1} + 9x_{2} ∼ 8x_{2}
x_{2}. (\begin{matrix}3 & 2 \\ 0 & 1 \end{matrix}) = [(3X + 2)^{2}, (0, 0)] = 4x_{0} + 12x_{1} + 9x_{2} ∼ 5x_{2}

Summing we see that T_{3}(x_{2}) ∼ x_{2} + x_{2} + x_{2} + 3x_{2} + 9x_{2} + 8x_{2} + 5x_{2} = 28x_{2}.

Notice that

28 = 1^{3} + 3^{3} = σ_{3}(3).

Example 8.33. Next we compute 𝕄_{2}(Γ_{0}(11)) explicitly. The Manin symbol generators are

x_{0} = (0, 1), x_{1} = (1, 0), x_{2} = (1, 1), x_{3} = (1, 2), x_{4} = (1, 3), x_{5} = (1, 4),

x_{6} = (1, 5), x_{7} = (1, 6), x_{8} = (1, 7), x_{9} = (1, 8), x_{10} = (1, 9), x_{11} = (1, 10).

The relation matrix is as follows, where the S relations are above the line, and the T relations are below it.

( \begin{matrix}1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 1 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 0 \\ 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 0 & 1 & 0 & 0 \end{matrix} )

In weight 2, two out of three T -relations are redundant, so we do not include them. The reduced row echelon form of the relation matrix is

( \begin{matrix}1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & −1 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 1 & −1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & −1 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \end{matrix} )

From the echelon form we immediately see that every symbol is equivalent to a combination of x_{1} = (1, 0), x_{9} = (1, 8), and x_{10} = (1, 9). (Notice that columns 1, 9, and 10 are the pivot columns, where we index columns starting at 0.) Explicitly, if (a, b, c) is the ith row of the following matrix, then x_{i} = ax_{1} + bx_{9} + cx_{10}:

( \begin{matrix}−1 & 0 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & −1 & 1 \\ 0 & −1 & 0 \\ 0 & 0 & −1 \\ 0 & 0 & −1 \\ 0 & 1 & −1 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{matrix} )

To compute T_{2}, we apply each of the Heilbronn matrices of determinant 2 from Proposition 8.8 to x_{1}, then to x_{9}, and finally to x_{10}. The matrices are as in Example 8.32 above. We have

T_{2}(x_{1}) = 3(1, 0) + (1, 6) ∼ 3x_{1} − x_{10}.

Applying T_{2} to x_{9} = (1, 8), we get

T_{2}(x_{9}) = (1, 3) + (1, 4) + (1, 5) + (1, 10) ∼ −2x_{9}

Applying T_{2} to x_{10} = (1, 9), we get

T_{2}(x_{10}) = (1, 4) + (1, 5) + (1, 7) + (1, 10) ∼ −x_{1} − 2x_{10}.

Thus the matrix of T_{2} with respect to this basis is

T_{2} = ( \begin{matrix}3 & 0 & 0 \\ 0 & −2 & 0 \\ −1 & 0 & −2 \end{matrix} ) ,

where we write the matrix as an operator on the left on vectors written in terms of x_{1}, x_{9}, and x_{10}. The matrix T_{2} has characteristic polynomial

(x − 3)(x + 2)^{2}.

The (x − 3) factor corresponds to the weight 2 Eisenstein series, and the x + 2 factor corresponds to the elliptic curve E = X_{0}(11), which has

a_{2} = −2 = 2 + 1 − #E(𝔽_{2}).

We have

T_{3}(x_{1}) = 4(1, 0) + (1, 4) + (1, 6) + (1, 8) ∼ 4x_{1} − x_{10}
T_{3}(x_{9}) = (1, 2) + (1, 3) + (1, 4) + (1, 5) + (1, 7) + 2(1, 10) ∼ −x_{9}
T_{3}(x_{10}) = (0, 1) + (1, 0) + (1, 2) + (1, 3) + (1, 5) + (1, 6) + (1, 7) ∼ −x_{10},

so

T_{3} = ( \begin{matrix}4 & 0 & 0 \\ 0 & −1 & 0 \\ −1 & 0 & −1 \end{matrix} ) .

The characteristic polynomial of T_{3} is (x − 4)(x + 1)^{2}.

Example 8.34. In this example, we compute 𝕄_{6}(Γ_{0}(3)), which illustrates both big weight and nontrivial level. We have the following generating Manin symbols:

x_{0} = [XY^{4}, (0, 1)],  x_{1} = [XY^{4}, (1, 0)]
x_{2} = [XY^{4}, (1, 1)],  x_{3} = [XY^{4}, (1, 2)]
x_{4} = [XY^{3}, (0, 1)],  x_{5} = [XY^{3}, (1, 0)]
x_{6} = [XY^{3}, (1, 1)],  x_{7} = [XY^{3}, (1, 2)]
x_{8} = [X^{2}Y^{2}, (0, 1)], x_{9} = [X^{2}Y^{2}, (1, 0)]
x_{10} = [X^{2}Y^{2}, (1, 1)], x_{11} = [X^{2}Y^{2}, (1, 2)]
x_{12} = [X^{3}Y, (0, 1)],  x_{13} = [X^{3}Y, (1, 0)]
x_{14} = [X^{3}Y, (1, 1)],  x_{15} = [X^{3}Y, (1, 2)]
x_{16} = [X^{4}Y, (0, 1)],  x_{17} = [X^{4}Y, (1, 0)]
x_{18} = [X^{4}Y, (1, 1)],  x_{19} = [X^{4}Y, (1, 2)]

154 8. General Modular Symbols

The relation matrix is already very large for 𝕄_{6}(Γ_{0}(3)) follows, where the S relations are before the line and the T relations after it:

( \begin{matrix}1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & −1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & −1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & −1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & −1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 1 & 0 & 0 & 1 & 0 & 0 & 0 & −4 & 0 & 0 & 0 & 6 & 0 & 0 & 0 & −4 & 0 & 1 & 0 & 1 \\ 1 & 1 & 0 & 0 & −4 & 0 & 0 & 0 & 6 & 0 & 0 & 0 & −4 & 0 & 0 & 0 & 1 & 0 & 0 & 1 \\ 0 & 0 & 2 & 0 & 0 & 0 & −4 & 0 & 0 & 0 & 6 & 0 & 0 & 0 & −4 & 0 & 0 & 0 & 2 & 0 \\ 0 & 1 & 0 & 1 & 0 & −4 & 0 & 0 & 0 & 6 & 0 & 0 & 0 & −4 & 0 & 0 & 1 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 & 1 & 0 & 0 & −3 & 0 & 0 & 0 & 3 & 0 & −1 & 0 & −1 & 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 & −3 & 1 & 0 & 0 & 3 & 0 & 0 & 0 & −1 & 0 & 0 & −1 & 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 & 0 & 0 & −2 & 0 & 0 & 0 & 3 & 0 & 0 & 0 & −2 & 0 & 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 & 0 & −3 & 0 & 1 & 0 & 3 & 0 & 0 & −1 & −1 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & −2 & 1 & 1 & 0 & 1 & 0 & −2 & 0 & 0 & 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 & −2 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & −2 & 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 & 0 & 0 & −2 & 0 & 0 & 0 & 3 & 0 & 0 & 0 & −2 & 0 & 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 & 0 & −2 & 0 & 0 & 1 & 1 & 0 & 1 & −2 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & −1 & 0 & −1 & 0 & 3 & 0 & 0 & 1 & −3 & 0 & 0 & 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 & −1 & 0 & 0 & −1 & 0 & 0 & 0 & 3 & 0 & 1 & 0 & −3 & 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 & 0 & 0 & −2 & 0 & 0 & 0 & 3 & 0 & 0 & 0 & −2 & 0 & 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 & −1 & −1 & 0 & 0 & 3 & 0 & 0 & 0 & −3 & 0 & 0 & 1 & 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 1 & 0 & −4 & 0 & 0 & 0 & 6 & 0 & 0 & 0 & −4 & 0 & 0 & 1 & 1 & 0 & 0 \\ 1 & 0 & 0 & 1 & 0 & 0 & 0 & −4 & 0 & 0 & 0 & 6 & 0 & 0 & 0 & −4 & 0 & 1 & 0 & 1 \\ 0 & 0 & 2 & 0 & 0 & 0 & −4 & 0 & 0 & 0 & 6 & 0 & 0 & 0 & −4 & 0 & 0 & 0 & 2 & 0 \\ 1 & 1 & 0 & 0 & −4 & 0 & 0 & 0 & 6 & 0 & 0 & 0 & −4 & 0 & 0 & 0 & 1 & 0 & 0 & 1 \end{matrix} )

The reduced row echelon form of the relations matrix, with zero rows removed:

( \begin{matrix}1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 3/16 & −3/16 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & −1/16 & 1/16 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1/2 & −5/16 & −3/16 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & −1/2 & 3/16 & 5/16 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & −1/6 & 1/12 & 1/12 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1/6 & −1/12 & −1/12 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1/4 & −1/4 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & −1/4 & 1/4 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & −1/16 & 1/16 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 3/16 & −3/16 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & −1/2 & 3/16 & 5/16 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1/2 & −5/16 & −3/16 \end{matrix} )

Since these relations are equivalent to the original relations, we see how x_{0}, …, x_{15} can be expressed in terms of x_{16}, x_{17}, x_{18}, and x_{19}. Thus 𝕄_{6}(Γ_{0}(3)) has dimension 4. For example,

x_{15} ∼ \frac{1}{2}x_{17} − \frac{5}{16}x_{18} − \frac{3}{16}x_{19}.

Notice that the number of relations is already quite large. It is perhaps surprising how complicated the presentation is already for 𝕄_{6}(Γ_{0}(3)). Because there are denominators in the relations, the above calculation is only a computation of 𝕄_{6}(Γ_{0}(3); ℚ). Computing 𝕄_{6}(Γ_{0}(3); ℤ) involves finding a ℤ-basis for the kernel of the relation matrix (see Exercise 7.5).

As before, we find that with respect to the basis x_{16}, x_{17}, x_{18}, and x_{19}, that

T_{2} = ( \begin{matrix}33 & 0 & 0 & 0 \\ 3 & 6 & 12 & 12 \\ −3/2 & 27/2 & 15/2 & 27/2 \\ −3/2 & 27/2 & 27/2 & 15/2 \end{matrix} )

Notice that there are denominators in the matrix for T_{2} with respect to this basis. It is clear from the definition of T_{2} acting on Manin symbols that T_{2} preserves the ℤ-module 𝕄_{6}(Γ_{0}(3)), so there is some basis for 𝕄_{6}(Γ_{0}(3)) such that T_{2} is given by an integer matrix. Thus the characteristic polynomial f_{2} of T_{2} will have integer coefficients; indeed,

f_{2} = (x − 33)^{2} · (x + 6)^{2}.

Note the factor (x−33)^{2}, which comes from the two images of the Eisenstein series E_{4} of level 1. The factor x + 6 comes from the cusp form

g = q − 6q^{2} + ⋯ ∈ S_{6}(Γ_{0}(3)).

By computing more Hecke operators T_{n}, we can find more coefficients of g. For example, the charpoly of T_{3} is (x − 1)(x − 243)(x − 9)^{2}, and the matrix of T_{5} is

T_{5} = ( \begin{matrix}3126 & 0 & 0 & 0 \\ 240 & 966 & 960 & 960 \\ −120 & 1080 & 1086 & 1080 \\ −120 & 1080 & 1080 & 1086 \end{matrix} ) ,

which has characteristic polynomial

f_{5} = (x − 3126)^{2}(x − 6)^{2}.

The matrix of T_{7} is

T_{7} = ( \begin{matrix}16808 & 0 & 0 & 0 \\ 1296 & 5144 & 5184 & 5184 \\ −648 & 5832 & 5792 & 5832 \\ −648 & 5832 & 5832 & 5792 \end{matrix} ) ,

with characteristic polynomial

f_{7} = (x − 16808)^{2}(x + 40)^{2}.

One can put this information together to deduce that

g = q − 6q^{2} + 9q^{3} + 4q^{4} + 6q^{5} − 54q^{6} − 40q^{7} + · · · .

Example 8.35. Consider 𝕄_{2}(Γ_{0}(43)), which has dimension 7. With respect to the symbols

x_{1} = (1, 0), x_{32} = (1, 31), x_{33} = (1, 32),
x_{39} = (1, 38), x_{40} = (1, 39), x_{41} = (1, 40), x_{42} = (1, 41),

the matrix of T_{2} is

T_{2} = ( \begin{matrix}3 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & −2 & −1 & −1 & −1 & 0 & 0 \\ 0 & 1 & 1 & 0 & 0 & −2 & −1 \\ 0 & 0 & 1 & −1 & 1 & 0 & 0 \\ 0 & 0 & 0 & 2 & 1 & 2 & 1 \\ 0 & 0 & −1 & −1 & −1 & −2 & 0 \\ −1 & 0 & 0 & 1 & 1 & 1 & −1 \end{matrix} ) ,

which has characteristic polynomial

(x − 3)(x + 2)^{2}(x^{2} − 2)^{2}.

There is one Eisenstein series, and three cusp forms with a_{2} = −2 and a_{2} = ±\sqrt{2}.

Example 8.36. To compute 𝕄_{2}(Γ_{0}(2004); ℚ) we first make a list of the

4032 = (2^{2} + 2) · (3 + 1) · (167 + 1)

elements (a, b) ∈ ℙ^{1}(ℤ/2004ℤ) using Algorithm 8.29. The list looks like this:

(0, 1), (1, 0), (1, 1), (1, 2), …, (668, 1), (668, 3), (668, 5), (1002, 1)

For each of the symbols x_{i}, we consider the S and T relations. Ignoring the redundant relations, we find 2016 S-relations and 1344 T -relations. It is simple to quotient out by the S-relations, e.g., by identifying x_{i} with −x_{i}S = −x_{j} for some j (or setting x_{i} = 0 if x_{i}S = x_{i}). Once we have taken the quotient by the S relations, we take the image of all 1344 of the T relations modulo the S-relations and quotient out by those relations. Because S and T do not commutate, we can not only quotient out by T relations x_{i} +x_{i}T +x_{i}T^{2} = 0 where the x_{i} are the basis after quotienting out by the S relations. The relation matrix has rank 3359, so 𝕄_{2}(Γ_{0}(2004); ℚ) has dimension 673.

If we instead compute the quotient 𝕄_{2}(Γ_{0}(2004); ℚ)^{+} of 𝕄_{2}(Γ_{0}(2004); ℚ) by the subspace of elements x − η^{∗}(x), we include relations x_{i} + x_{i}I = 0, where I = ( \begin{matrix}−1 & 0 \\ 0 & 1 \end{matrix} ). There are now 2016 S relations, 2024 I relations, and 1344 T relations. Again, it is relatively easy to quotient out by the S relations by identifying x_{i} and −x_{i}S. We then take the image of all 2024 I relations modulo the S relations, and again directly quotient out by the I-relations by identifying [x_{i}] with −[x_{i}I] = −[x_{j}] for some j, where by [x_{i}] we mean the class of x_{i} modulo the S relations. Finally, we quotient out by the 1344 T relations, which involves sparse Gauss elimination on a matrix with 1344 rows, and at most 3 nonzero entries per row. The dimension of 𝕄_{2}(Γ_{0}(2004); ℚ)^{+} is 331.

8.9. Refined Algorithm for the Presentation

Algorithm 8.37 (Modular Symbols Presentation). This is an algorithm to compute 𝕄_{k}(Γ_{0}(N); ℚ) or 𝕄_{k}(Γ_{0}(N); ℚ)^{±}, which only requires doing generic sparse linear algebra to deal with the three term T -relations.

(1) Let x_{0}, …, x_{n} by a list of all Manin symbols.

(2) Quotient out the two-term S relations and if the ± quotient is desired, by the two-term η relations. (Note: this is more subtle than just “identify symbols in pairs”, since complicated relations can cause generators to surprisingly equal 0.) Let [x_{i}] denote the class of x_{i} after this quotienting process.

(3) Create a sparse matrix A with m columns, whose rows encode the

relations

[x_{i}] + [x_{i}T] + [x_{i}T^{2}] = 0.

For example, there are about n/3 such rows (I’m unsure what the situation is for k > 2). The number of nonzero entries per row is at most 3(k − 1). Note that we must include rows for all i, since even if [x_{i}] = [x_{j}], it need not be the case that [x_{i}T] = [x_{j}T], since the matrices S and T do not commute. However, we have an a priori formula for the dimension of the quotient by all these relations, so we could omit many relations and just check that there are enough at the end—if there are not, we add in more.

(4) Compute the reduced row echelon form of A using Algorithm 7.6. For k = 2, this is the echelon form of a matrix with size about n/3 × n/4.

(5) Use what we have done above to read off a sparse matrix R that expresses each of the n Manin symbols in terms of a basis of Manin symbols, modulo the relations.

8.10. Applications

8.10.1. Later in this Book. We sketch some of the ways in which we will apply the modular symbols algorithms of this chapter later in this book.

Cuspidal modular symbols are in Hecke-equivariant duality with cuspidal modular forms, and as such we can compute modular forms by computing systems of eigenvalues for the Hecke operators acting on modular symbols. By the Atkin-Lehner-Li theory of newforms (see, e.g., 9.4), we can construct S_{k}(N, ε) for any N, any ε, and k ≥ 2 using this method. See Chapter 1 for more details.

Once we can compute spaces of modular symbols, we move to computing the corresponding modular forms. We define inclusion and trace maps from modular symbols of one level N to modular symbols of level a multiple or divisor of N. Using these we compute the quotient V of the new subspace of cuspidal modular symbols on which a “star involution” acts as +1. The Hecke operators act by diagonalizable commuting matrices on this space, and computing the systems of Hecke eigenvalues is equivalent to computing newforms ∑ a_{n}q^{n}. In this way, we obtain a list of all newforms (normalized eigenforms) in S_{k}(N, ε) for any N, ε, and k ≥ 2.

In Chapter 10, we compute with the period mapping from modular symbols to ℂ attached to a newform f ∈ S_{k}(N, ε). When k = 2, ε = 1 and f has rational Fourier coefficients, this gives a method to compute the period lattice associated to a modular elliptic curve attached to a newform (see Section 10.7). In general, computation of this map is important when finding equations for modular ℚ-curves, CM curves, and curves with a given modular Jacobian. It is also important for computing special values of the L-function L(f, s) at integer points in the critical strip.

8.10.2. Discussion of the Literature and Research. Modular symbols were introduced by Birch [Bir71] for computations in support of the Birch and Swinnerton-Dyer conjecture. Manin [Man72] used modular symbols to prove rationality results about special values of L-functions.

Merel’s paper [Mer94] builds on work of Shokurov (mainly [Sho80a]), which develops a higher-weight generalization of Manin’s work partly to understand rationality properties of special values of L-functions. Cremona’s book [Cre97a] discusses how to compute the space of weight 2 modular symbols for Γ_{0}(N), in connection with the problem of enumerating all elliptic curves of given conductor, and his article [Cre92] discusses the Γ_{1}(N) case and computation of modular symbols with character.

There have been several Ph.D. theses about modular symbols. Basmaji’s thesis [Bas96] contains tricks to efficiently compute Hecke operators T_{p}, with p very large (see Section 8.3.4), and also discusses how to compute spaces of half integral weight modular forms building on what one can get from modular symbols of integral weight. The author’s Ph.D. thesis [Ste00] discusses higher-weight modular symbols, and applies modular symbols to study Shafarevich-Tate groups (see also [Aga00]). Martin’s thesis [Mar01] is about an attempt to study an analogue of analytic modular symbols for weight 1. Gabor Wiese’s thesis [Wie05] uses modular symbols methods to study weight 1 modular forms modulo p. Lemelin’s thesis [Lem01] discusses modular symbols for quadratic imaginary fields in the context of p-adic analogues of the Birch and Swinnerton-Dyer conjecture. See also the survey paper [FM99], which discusses computation with weight 2 modular symbols in the context of modular abelian varieties.

The appendix of this book is about analogues of modular symbols for groups besides finite-index subgroups of SL_{2}(ℤ), e.g., for subgroup of higher rank groups such as SL_{3}(ℤ). There has also been work on computing Hilbert modular forms, e.g., by Lassina Dembele [Dem05] Hilbert modular forms are functions on a product of copies of 𝔥, and SL_{2}(ℤ) is replaced by a group of matrices with entries in a totally real field.

Glenn Stevens, Robert Pollack and Henri Darmon (see [DP04]) have worked for many years to develop an analogue of modular symbols in a rigid analytic context, which should be very helpful for questions about computing with over convergent p-adic modular forms, or proving results about p-adic L-functions.

Finally we mention that Mazur uses the term “modular symbol” in a slightly different way in many of his papers. This is a dual notion, which attaches a “modular symbol” to a modular form or elliptic curve. See [MTT86] for an extensive discussion of modular symbols from this point of view, where they are used to construct p-adic L-functions.

8.11. Exercises

8.1 Suppose M is an integer multiple of N. Prove that the natural

map (ℤ/Mℤ)^{∗} → (ℤ/Nℤ)^{∗} is surjective. 8.2 Prove that SL_{2}(ℤ) → SL_{2}(ℤ/Nℤ) is surjective (see Lemma 8.15). 8.3 Compute 𝕄_{3}(Γ_{1}(3)). List each Manin symbol, the relations they satisfy, compute the quotient, etc. Find the matrix of T_{2}. (Check: The dimension of 𝕄_{3}(Γ_{1}(3)) is 2, and the characteristic polynomial of T_{2} is (x − 3)(x + 3).)

8.4 Finish the proof of Proposition 8.17.

8.5 (a) Show that if η = ( \begin{matrix}−1 & 0 \\ 0 & 1 \end{matrix} ), then ηΓη = Γ for Γ = Γ_{0}(N) and

Γ = Γ_{1}(N).

(b) (*) Give an example of a finite index subgroup Γ such that ηΓη ≠ Γ.

Computing With Newforms

In this chapter we pull together results and algorithms from Chapter 3, 4, 7, and 8 and explain how to use linear algebra techniques to compute cusp forms and eigenforms using modular symbols.

We first discuss in Section 9.1 how to decompose M_{k}(Γ_{1}(N)) as a direct sum of subspaces corresponding to Dirichlet characters. Next in Section 9.2 we state the main theorems of Atkin-Lehner-Li theory, which decomposes S_{k}(Γ_{1}(N)) into subspaces on which the Hecke operators act diagonalizable with “multiplicity one”. In Section 9.3 we describe two algorithms for computing modular forms. One algorithm finds a basis of q-expansions, and the other computes eigenvalues of newforms.

9.1. Dirichlet Character Decomposition

The group (ℤ/Nℤ)^{∗} acts on M_{k}(Γ_{1}(N)) through diamond-bracket operators ⟨d⟩, as follows. For d ∈ (ℤ/Nℤ)^{∗}, define

f|⟨d⟩ = f^{[^{( \begin{matrix}a & b \\ c & d′ \end{matrix} )}]^{k}},

where ( \begin{matrix}a & b \\ c & d′ \end{matrix} ) ∈ SL_{2}(ℤ) is congruent to ( \begin{matrix}d^{−1} & 0 \\ 0 & d \end{matrix} ) (mod N). Note that the map SL_{2}(ℤ) → SL_{2}(ℤ/Nℤ) is surjective (see Exercise 8.2), so the matrix ( \begin{matrix}a & b \\ c & d′ \end{matrix} ) exists. To prove that ⟨d⟩ preserves M_{k}(Γ_{1}(N)), we prove the more general fact that Γ_{1}(N) is a normal subgroup of

Γ_{0}(N) = \{(\begin{matrix}a & b \\ c & d \end{matrix}) ∈ SL_{2}(ℤ) : (\begin{matrix}a & b \\ c & d \end{matrix}) ≡ (\begin{matrix}∗ & ∗ \\ 0 & ∗ \end{matrix}) (mod N)\} .

This will imply that ⟨d⟩ preserves M_{k}(Γ_{1}(N)) since ( \begin{matrix}a & b \\ c & d′ \end{matrix} ) ∈ Γ_{0}(N).

Lemma 9.1. The group Γ_{1}(N) is a normal subgroup of Γ_{0}(N), and the quotient Γ_{0}(N)/Γ_{1}(N) is isomorphic to (ℤ/Nℤ)^{∗}.

Proof. See Exercise 9.1. □

Alternatively, one can prove that ⟨d⟩ preserves M_{k}(Γ_{1}(N)) by showing that ⟨d⟩ ∈ 𝕋 and noting that M_{k}(Γ_{1}(N)) is preserved by 𝕋 (see Remark 9.11).

The diamond-bracket action is the action of Γ_{0}(N)/Γ_{1}(N) ≅ (ℤ/Nℤ)^{∗} on M_{k}(Γ_{1}(N)). Since M_{k}(Γ_{1}(N)) is a finite dimensional vector space over ℂ, the ⟨d⟩ action breaks M_{k}(Γ_{1}(N)) up as a direct sum of factors corresponding to the Dirichlet characters D(N, ℂ) of modulus N.

Proposition 9.2. We have

M_{k}(Γ_{1}(N)) = ⨁_{ε∈D(N,ℂ)}M_{k}(N, ε),

where

M_{k}(N, ε) = {f ∈ 𝕄_{k}(Γ_{1}(N)) : f|⟨d⟩ = ε(d)f all d ∈ (ℤ/Nℤ)^{∗}}.

Proof. The linear transformations ⟨d⟩, for the d ∈ (ℤ/Nℤ)^{∗}, all commute, since ⟨d⟩ acts through the abelian group Γ_{0}(N)/Γ_{1}(N). Also, if e is the exponent of (ℤ/Nℤ)^{∗}, then ⟨d⟩^{e} = ⟨d^{e}⟩ = ⟨1⟩ = 1, so the matrix of ⟨d⟩ is diagonalizable. It is a standard fact from linear algebra that any commuting family of diagonalizable linear transformations is simultaneously diagonalizable (see Exercise 5.1), so there is a basis f_{1}, …, f_{n} for M_{k}(Γ_{1}(N)) such that all ⟨d⟩ act by diagonal matrices. The system of eigenvalues of the action of (ℤ/Nℤ)^{∗} on a fixed f_{i} defines a Dirichlet character, i.e., each f_{i} has the property that f_{i}|⟨d⟩ = ε_{i}(d), for all d ∈ (ℤ/Nℤ)^{∗} and some Dirichlet character ε_{i}. The f_{i} for a given ε then span M_{k}(N, ε), and taken together the M_{k}(N, ε) must span M_{k}(Γ_{1}(N)). □

Definition 9.3 (Character of Modular Form). If f ∈ M_{k}(N, ε), we say that ε is the character of the modular form f.

The spaces M_{k}(N, ε) are a direct sum of subspaces S_{k}(N, ε) and E_{k}(N, ε), where S_{k}(N, ε) is the subspace of cusp forms, i.e., forms that vanish at all cusps (elements of ℚ ∪ {∞}), and E_{k}(N, ε) is the subspace of Eisenstein series, which is the unique subspace of M_{k}(N, ε) that is invariant under all Hecke operators and is such that M_{k}(N, ε) = S_{k}(N, ε)⊕E_{k}(N, ε). The space E_{k}(N, ε) can also be defined as the space spanned by all Eisenstein series of weight k and level N, as defined in Chapter 5. The space E_{k}(N, ε) can be defined in a third way using the Petersson inner product (see [Lan95, §VII.5]).

The diamond-bracket operators preserve cusp forms, so the isomorphism of Proposition 9.2 restricts to an isomorphism of the corresponding cuspidal subspaces. We illustrate how to use SAGE to make a table of dimension of M_{k}(Γ_{1}(N)) and M_{k}(N, ε) for N = 13.

     sage: G = DirichletGroup(13)
     sage: G
     Group of Dirichlet characters of modulus 13 over Cyclotomic
     Field of order 12 and degree 4
     sage: dimension_modular_forms(Gamma1(13),2)
     13
     sage: [dimension_modular_forms(e,2) for e in G]
     [1, 0, 3, 0, 2, 0, 2, 0, 2, 0, 3, 0]

Next we do the same for N = 100.

     sage: G = DirichletGroup(100)
     sage: G
     Group of Dirichlet characters of modulus 100 over Cyclotomic
     Field of order 20 and degree 8
     sage: dimension_modular_forms(Gamma1(100),2)
     370
     sage: v = [dimension_modular_forms(e,2) for e in G]; v
     [24, 0, 0, 17, 18, 0, 0, 17, 18, 0, 0, 21, 18, 0, 0, 17, 18,
       0, 0, 17, 24, 0, 0, 17, 18, 0, 0, 17, 18, 0, 0, 21, 18, 0,
       0, 17, 18, 0, 0, 17]
     sage: sum(v)
     370

9.2. Atkin-Lehner-Li Theory

In Section 8.6 we defined maps between modular symbols spaces of different level. There are similar maps between spaces of cusp forms. Suppose N and M are positive integers with M | N and that t is a divisor of N/M. Let

(9.2.1)  α_{t} : S_{k}(Γ_{1}(M)) → S_{k}(Γ_{1}(N))

be the degeneracy map, which is given by f(q) ↦ f(q^{t}). There are also maps β_{t} in the other direction; see [Lan95, Ch. VIII].

The old subspace of S_{k}(Γ_{1}(N)), denoted S_{k}(Γ_{1}(N))_{old}, is the sum of the images of all maps α_{t} with M a proper divisor of N and t any divisor of N/M (note that α_{t} depends on t, N, and M, so there is a slight abuse of notation). The new subspace of S_{k}(Γ_{1}(N)), which we denote by S_{k}(Γ_{1}(N))_{new}, is the intersection of the kernel of all maps β_{t} with M a proper divisor of N. One can use the Petersson inner product to show that

S_{k}(Γ_{1}(N)) = S_{k}(Γ_{1}(N))_{new} ⊕ S_{k}(Γ_{1}(N))_{old}.

Moroever, the new and old subspaces are preserved by all Hecke operators.

Let 𝕋 = ℤ[T_{1}, T_{2}, …,] be the commutative polynomial ring in infinitely many indeterminates T_{n}. This ring acts (via T_{n} acting as the nth Hecke operator) on S_{k}(Γ_{1}(N)) for every integer N. Let 𝕋^{(N)} be the subring of 𝕋 generated by the T_{n} with gcd(n, N) = 1.

Theorem 9.4 (Atkin, Lehner, Li). We have a decomposition

(9.2.2)  S_{k}(Γ_{1}(N)) = ⨁_{M|N} ⨁_{d|N/M} α_{d}(S_{k}(Γ_{1}(M))_{new}).

Each space S_{k}(Γ_{1}(M))_{new} is a direct sum of distinct (non-isomorphic) simple 𝕋_{ℂ}^{(N)}-modules.

Proof. The complete proof is in [Li75]. See also [DS05, Ch. 5] for a beautiful modern treatement of this and related results. □

The analogue of Theorem 9.4 with Γ_{1} replaced by Γ_{0} is also true (this is what was proved in [AL70]). The analogue for S_{k}(N, ε) is also valid, as long as we omit the spaces S_{k}(Γ_{1}(M), ε) for which cond(ε) ∤ M.

Example 9.5. If N is prime and k ≤ 11, then S_{k}(Γ_{1}(N))_{new} = S_{k}(Γ_{1}(N)), since S_{k}(Γ_{1}(1)) = 0.

One can prove using the Petersson inner product that the operators T_{n} on S_{k}(Γ_{1}(N)), with gcd(n, N) = 1, are diagonalizable. Another result of Atkin-Lehner-Li theory is that the ring of endomorphism of S_{k}(Γ_{1}(N))_{new} generated by all Hecke operators equals the ring generated by the Hecke operators T_{n} with (n, N) = 1. This statement need not be true if we do not restrict to the new subspace, as the following example shows.

Example 9.6. We have

S_{2}(Γ_{0}(22)) = S_{2}(Γ_{0}(11)) ⊕ α_{2}(S_{2}(Γ_{0}(11))),

where each of the spaces S_{2}(Γ_{0}(11)) has dimension 1. Thus S_{2}(Γ_{0}(22))_{new} = 0. The Hecke operator T_{2} on S_{2}(Γ_{0}(22)) has characteristic polynomial x^{2} + 2x + 2, which is irreducible. Since α_{2} commutes with all Hecke operators T_{n}, with gcd(n, 2) = 1, the subring 𝕋^{(22)} of the Hecke algebra generated by operators T_{n} with n odd is isomorphic to ℤ (the 2×2 scalar matrices). Thus on the full space S_{2}(Γ_{0}(22)), we do not have 𝕋^{(22)} = 𝕋. However, on the new subspace we do have this equality, since the new subspace has dimension 0.

9.2. Atkin-Lehner-Li Theory 165

Example 9.7. The space S_{2}(Γ_{0}(45)) has dimension 3 and basis

f_{0} = q − q^{4} − q^{10} − 2q^{13} − q^{16} + 4q^{19} + ⋯
f_{1} = q^{2} − q^{5} − 3q^{8} + 4q^{11} − 2q^{17} + ⋯
f_{2} = q^{3} − q^{6} − q^{9} − q^{12} + q^{15} + q^{18} + ⋯

The new subspace S_{2}(Γ_{0}(45))_{new} is spanned by the single cusp form

q + q^{2} − q^{4} − q^{5} − 3q^{8} − q^{10} + 4q^{11} − 2q^{13} + ⋯

We have S_{2}(Γ_{0}(45/5)) = 0 and S_{2}(Γ_{0}(15)) has dimension 1 with basis

q − q^{2} − q^{3} − q^{4} + q^{5} + q^{6} + 3q^{8} + q^{9} − q^{10} − 4q^{11} + q^{12} − 2q^{13} + ⋯

We use SAGE to verify the above assertions.

sage: S = CuspForms(Gamma0(45), 2, prec=14); S
Cuspidal subspace of dimension 3 of Modular Forms space
of dimension 10 for Congruence Subgroup Gamma0(45) of
weight 2 over Rational Field
sage: S.basis()
[
q - q^4 - q^10 - 2*q^13 + O(q^14),
q^2 - q^5 - 3*q^8 + 4*q^11 + O(q^14),
q^3 - q^6 - q^9 - q^12 + O(q^14)
]
sage: S.new_subspace().basis()
(q - q^4 - q^10 - 2*q^13 + O(q^14),)
sage: CuspForms(Gamma0(9),2)
Cuspidal subspace of dimension 0 of Modular Forms space
of dimension 3 for Congruence Subgroup Gamma0(9) of
weight 2 over Rational Field
sage: CuspForms(Gamma0(15),2, prec=10).basis()
[
q - q^2 - q^3 - q^4 + q^5 + q^6 + 3*q^8 + q^9 + O(q^10)
]

Example 9.8. This example is similar to Example 9.6, except that there are newforms. We have

S_{2}(Γ_{0}(55)) = S_{2}(Γ_{0}(11)) ⊕ α_{5}(S_{2}(Γ_{0}(11))) ⊕ S_{2}(Γ_{0}(55))_{new}, where S_{2}(Γ_{0}(11)) has dimension 1 and S_{2}(Γ_{0}(55))_{new} has dimension 3. The Hecke operator T_{5} on S_{2}(Γ_{0}(55))_{new} acts via the matrix

(\begin{matrix}−2 & 2 & −1 \\ −1 & 1 & −1 \\ 1 & −2 & 0 \end{matrix})

with respect to some basis. This matrix has eigenvalues 1 and −1. Atkin-Lehner theory asserts that T_{5} must be a linear combination of T_{n}, with gcd(n, 55) = 1. Upon computing the matrix for T_{2}, we find by simple linear algebra that T_{5} = 2T_{2} − T_{4}.

Definition 9.9 (Newform). A newform is a 𝕋-eigenform f ∈ S_{k}(Γ_{1}(N))_{new} that is normalized so that the coefficient of q is 1.

We now motivate this definition by explaining why any 𝕋-eigenform can be normalized so that the coefficient of q is 1, and how such an eigenform has the convenient property that its Fourier coefficients are exactly the Hecke eigenvalues.

Proposition 9.10. If f = ∑_{n=0}^{∞} a_{n}q^{n} ∈ M_{k}(N, ε) is an eigenvector for all Hecke operators T_{n} normalized so that a_{1} = 1, then T_{n}(f) = a_{n}f.

Proof. If ε = 1, then f ∈ M_{k}(Γ_{0}(N)) and this is Lemma 3.22. However, we have not yet considered Hecke operators on q-expansions for more general spaces of modular forms.

The Hecke operators T_{p}, for p prime, act on S_{k}(N, ε) by

T_{p} (∑_{n=0}^{∞} a_{n}q^{n}) = ∑_{n=0}^{∞} (a_{np}q^{n} + ε(p)p^{k−1}a_{n}q^{np}) ,

and there is a similar formula for T_{m} with m composite. If f = ∑_{n=0}^{∞} a_{n}q^{n} is an eigenform for all T_{p}, with eigenvalues λ_{p}, then by the above formula

(9.2.3)  λ_{p}f = λ_{p}a_{1}q + λ_{p}a_{2}q^{2} + ⋯ = T_{p}(f) = a_{p}q + higher terms.

Equating coefficients of q we see that if a_{1} = 0, then a_{p} = 0 for all p, hence a_{n} = 0 for all n, because of the multiplicativity of Fourier coefficients and the recurrence

a_{p^{r}} = a_{p^{r−1}}a_{p} − ε(p)p^{k−1}a_{p^{r−2}}.

This would mean that f = 0, a contradiction. Thus a_{1} ≠ 0, and it makes sense to normalize f so that a_{1} = 1. With this normalization, (9.2.3) implies that λ_{p} = a_{p}, as desired. □

Remark 9.11. The Hecke algebra 𝕋_{ℚ} on M_{k}(Γ_{1}(N)) contains the operators ⟨d⟩, since they satisfy the relation T_{p^{2}} = T_{p}^{2} − ⟨p⟩p^{k−1}. Thus any 𝕋-eigenform in M_{k}(Γ_{1}(N)) lies in a subspace M_{k}(N, ε) for some Dirichlet character ε. Also, one can prove more precisely that ⟨d⟩ ∈ ℤ[…, T_{n}, …] (see Exercise 9.2).

9.3. Computing Cusp Forms

Let 𝕊_{k}(N, ε; ℂ) be the space of cuspidal modular symbols as in Chapter 8. Let ι^{∗} be the map of (8.5.8), and let 𝕊_{k}(N, ε; ℂ)^{+} be the plus one quotient of cuspidal modular symbols, i.e., the quotient of 𝕊_{k}(N, ε; ℂ) by the image of ι^{∗} − 1. It follows from Theorem 8.23, and compatibility of the degeneracy maps (for modular symbols they are defined in Section 8.6), that the 𝕋modules S_{k}(N, ε)_{new} and 𝕊_{k}(N, ε; ℂ)_{new}^{+} are dual as 𝕋-modules. Thus finding the systems of 𝕋-eigenvalues on cusp forms is the same as finding the systems of 𝕋-eigenvalues on cuspidal modular symbols.

Our strategy to compute S_{k}(N, ε) is to first compute spaces S_{k}(N, ε)_{new} using the Atkin-Lehner-Li decomposition (9.2.2). To compute S_{k}(N, ε)_{new} to a given precision, we compute the systems of eigenvalues of the Hecke operators T_{p} on the space V = 𝕊_{k}(N, ε; ℂ)_{new}^{+}, which we will define below. Using Proposition 9.10, we then recover a basis of q-expansions for newforms. Note that we only need to compute Hecke eigenvalues T_{p}, for p prime, not the T_{n} for n composite, since the a_{n} can be quickly recovered in terms of the a_{p} using multiplicativity and the recurrence.

For some problems, e.g., construction of models for modular curves, having a basis of q-expansions is enough. For many other problems, e.g., enumeration of modular abelian varieties, one is really interested in the newforms. We next discuss algorithms aimed at each of these problems.

9.3.1. A Basis of q-Expansions. The following algorithm generalizes Algorithm 3.26. It computes S_{k}(N, ε) without finding any eigenspaces.

Algorithm 9.12 (Merel’s Algorithm for Computing a Basis). Given integers m, N and k and a Dirichlet character ε with modulus N, this algorithm computes a basis of q-expansions for S_{k}(N, ε) to precision O(q^{m+1}).

(1) [Compute Modular Symbols] Use Algorithm 8.37 to compute

V = 𝕊_{k}(N, ε)^{+} ⊗ ℚ(ε),

viewed as a K = ℚ(ε) vector space, with an action of the T_{n}.

(2) [Basis for Linear Dual] Write down a basis for V^{∗} = Hom(V, ℚ(ε)). E.g., if we identify V with K^{n} viewed as column vectors, then V^{∗} is the space of row vectors of length n, and the pairing is the row × column product.

(3) [Find Generator] Find x ∈ V such that 𝕋x = V by choosing random x until we find one that generates. The set of x that fail to generate lie in a union of a finite number of proper subspaces.

(4) [Compute Basis] The set of power series

f_{i} = ∑_{n=1}^{m} ψ_{i}(T_{n}(x))q^{n} + O(q^{m+1})

form a basis for S_{k}(N, ε) to precision m.

In practice Algorithm 9.12 seems slower than the eigenspace algorithm that we will describe in the rest of this chapter. The theoretical complexity of Algorithm 9.12 may be better, because it is not necessary to factor any polynomials. Polynomial factorization is difficult from the worst-case complexity point of view, though usually fast in practice. The eigenvalue algorithm only requires computing a few images T_{p}(x) for p prime and x a Manin symbol on which T_{p} can easily be computed. The Merel algorithm involves computing T_{n}(x) for all n, and a fairly easy x, which is potentially more work.

Remark 9.13. By “easy x”, I mean that computing T_{n}(x) is easier on x than on a completely random element of 𝕊_{k}(N, ε)^{+}, e.g., x could be a Manin symbol.

9.3.2. Newforms: Systems of Eigenvalues. In this section we describe an algorithm for computing the system of Hecke eigenvalues associated to a simple subspace of a space of modular symbols. This algorithm is better than doing linear algebra directly over the number field generated by the eigenvalues. It only involves linear algebra over the base field, and also yields a compact representation for the answer, which is better than writing the eigenvalues in terms of a power basis for a number field. In order to use this algorithm, it is necessary to decompose the space of cuspidal modular symbols as a direct sum of simples, e.g., using Algorithm 7.17.

Fix N and a Dirichlet character ε of modulus N. and let

V = 𝕄_{k}(N, ε)^{+},

be the +1 quotient of modular symbols (see equation (8.5.8)).

Algorithm 9.14 (System of Eigenvalues). Given a 𝕋-simple subspace W ⊂ V of modular symbols, this algorithm outputs maps ψ and e, where ψ : 𝕋_{K} → W is a K-linear map and e : W ≅ L is an isomorphism of W with a number field L, such that a_{n} = e(ψ(T_{n})) is the eigenvalue of the nth Hecke operator acting on a fixed 𝕋-eigenvector in W ⊗ \overline{ℚ}. (Thus f = ∑_{n=1}^{∞} e(ψ(T_{n}))q^{n} is a newform.)

(1) [Compute Projection] Let φ : V → W′ be any surjective linear map such that ker(φ) equals the kernel of the 𝕋-invariant projection onto W. For example, compute φ by finding a simple submodule of V^{∗} = Hom(V, K) that is isomorphic to W, e.g., by applying Algorithm 7.17 to V^{∗} with T replaced by the transpose of T.

(2) [Choose v] Choose a nonzero element v ∈ V such that π(v) ≠ 0 and computation of T_{n}(v) is “easy”, e.g., choose v to be a Manin symbol.

(3) [Map From Hecke Ring] Let ψ be the map 𝕋 → W′, given by ψ(t) = π(tv). Note that computation of ψ is relatively easy, because v was chosen so that tv is relatively easy to compute. In particular, if t = T_{p}, we do not need to compute the full matrix of T_{p} on V; instead we just compute T_{p}(v).

(4) [Find Generator] Find a random T ∈ 𝕋 such that the iterates

ψ(T^{0}), ψ(T), ψ(T^{2}), …, ψ(T^{d−1})

are a basis for W′, where W has dimension d.

(5) [Characteristic Polynomial] Compute the characteristic polynomial f of T |_{W}, and let L = K[x]/(f). Because of how we chose T in Step 4, the minimal and characteristic polynomials of T |_{W} are equal, and both are irreducible, so L is an extension of K of degree d = dim(W).

(6) [Field Structure] In this step we endow W′ with a field structure. Let e : W′ → L be the unique K-linear isomorphism such that

e(ψ(T^{i})) ≡ x^{i} (mod f)

for i = 0, 1, 2, ..., deg(f) − 1. The map e is uniquely determined since the ψ(T^{i}) are a basis for W′. To compute e, we compute the change of basis matrix from the standard basis for W′ to the basis {ψ(T^{i})}. This change of basis matrix is the inverse of the matrix whose rows are the ψ(T^{i}) for i = 0, ..., deg(f) − 1.

(7) [Hecke Eigenvalues] Finally for each integer n ≥ 1, we have

a_{n} = e(ψ(T_{n})) = e(π(T_{n}(v))),

where a_{n} is the eigenvalue of T_{n}. Output the maps ψ and e and terminate.

One reason we separate ψ and e is that when dim(W) is large, the values ψ(T_{n}) take less space to store and are easier to compute, whereas each one of the values e(ψ(n)) are huge.^{1} The function e typically involves large numbers if dim(W) is large, since e is got from the iterates of a single vector. For many applications, e.g., databases, it is better to store a matrix that defines e and the images under ψ of many T_{n}.

1John Cremona initially suggested to me the idea of separating these two maps.

Example 9.15. The space S_{2}(Γ_{0}(23)) of cusp forms has dimension 2, and is spanned by two Gal(\overline{ℚ}/ℚ)-conjugate newforms, one of which is

f = q + aq^{2} + (−2a − 1)q^{3} + (−a − 1)q^{4} + 2aq^{5} + ⋯,

where a = (−1 + \sqrt{5})/2. We will use Algorithm 9.14 to compute a few of these coefficients.

The space 𝕄_{2}(Γ_{0}(23))^{+} of modular symbols has dimension 3. It has the following basis of Manin symbols:

[(0, 0)], [(1, 0)], [(0, 1)],

where we use square brackets to differentiate Manin symbols from vectors. The Hecke operator

T_{2} = ( \begin{matrix}3 & 0 & 0 \\ 0 & 0 & 2 \\ −1 & 1/2 & −1 \end{matrix} )

has characteristic polynomial (x − 3)(x^{2} + x − 1). The kernel of T_{2} − 3 corresponds to the span of the Eisenstein series of level 23 and weight 2, and the kernel V of T_{2}^{2} +T_{2} −1 corresponds to S_{2}(Γ_{0}(23)). (We could also have computed V as the kernel of the boundary map 𝕄_{2}(Γ_{0}(23))^{+} → 𝔹_{2}(Γ_{0}(23))^{+}.) Each of the following steps corresponds to the step of Algorithm 9.14 with the same number.

(1) [Compute Projection] We compute projection onto V (this will suffice to give us a map ϕ as in the algorithm). The matrix whose first two columns are the echelon basis for V and whose last column is the echelon basis for the Eisenstein subspace is

( \begin{matrix}0 & 0 & 1 \\ 1 & 0 & −2/11 \\ 0 & 1 & −3/11 \end{matrix} )

and

B^{−1} = ( \begin{matrix}2/11 & 1 & 0 \\ 3/11 & 0 & 1 \\ 1 & 0 & 0 \end{matrix} ) ,

so projection onto V is given by the first two rows:

π = ( \begin{matrix}2/11 & 1 & 0 \\ 3/11 & 0 & 1 \end{matrix} ) .

(2) [Choose v] Let v = (0, 1, 0)^{t}. Notice that π(v) = (1, 0)^{t} ≠ 0, and v = [(1, 0)] is a sum of only one Manin symbol.

(3) [Map From Hecke Ring] This step is purely conceptual, since no actual work needs to be done. We illustrate it by computing ψ(T_{1}) and ψ(T_{2}). We have

ψ(T_{1}) = π(v) = (1, 0)^{t},

and

ψ(T_{2}) = π(T_{2}(v)) = π((0, 0, 1/2)^{t}) = (0, 1/2)^{t}.

(4) [Find Generator] We have

ψ(T_{2}^{0}) = ψ(T_{1}) = (1, 0)^{t},

which is clearly independent from ψ(T_{2}) = (0, 1/2)^{t}. Thus we find that the image of the powers of T = T_{2} generate V.

(5) [Characteristic Polynomial] The matrix of T_{2}|_{V} is ( \begin{matrix}0 & 2 \\ 1/2 & −1 \end{matrix} ), which has characteristic polynomial f = x^{2} +x−1. Of course, we already knew this because we computed V as the kernel of T_{2}^{2} + T_{2} − 1.

(6) [Field Structure] We have

ψ(T_{2}^{0}) = π(v) = (1, 0)^{t} and ψ(T_{2}) = (0, 1/2).

The matrix with rows the ψ(T_{2}^{i}) is ( \begin{matrix}1 & 0 \\ 0 & 1/2 \end{matrix} ), which has inverse e = ( \begin{matrix}1 & 0 \\ 0 & 2 \end{matrix} ). The matrix e defines an isomorphism between V and the field

L = ℚ[x]/(f) = ℚ((−1 + \sqrt{5})/2).

For example, e((1, 0)) = 1 and e((0, 1)) = 2x, where x = (−1 + \sqrt{5})/2.

(7) [Hecke Eigenvalues] We have a_{n} = e(Ψ(T_{n})). For example,

a_{1} = e(Ψ(T_{1})) = e((1, 0)) = 1
a_{2} = e(Ψ(T_{2})) = e((0, 1/2)) = x
a_{3} = e(Ψ(T_{3})) = e(π(T_{3}(v)))=e(π((0, −1, −1)^{t}))

= e((−1, −1)^{t})=−1 − 2x

a_{4} = e(Ψ(T_{4})) = e(π((0, −1, −1/2)^{t})) = e((−1, −1/2)^{t}) = −1 − x
a_{5} = e(Ψ(T_{5})) = e(π((0, 0, 1)^{t})) = e((0, 1)^{t}) = 2x
a_{23} = e(Ψ(T_{23})) = e(π((0, 1, 0)^{t})) = e((1, 0)^{t}) = 1
a_{97} = e(Ψ(T_{23})) = e(π((0, 14, 3)^{t})) = e((14, 3)^{t}) = 14 + 6x

Example 9.16. It is easier to appreciate Algorithm 9.14 after seeing how big the coefficients of the power series expansion of a newform typically are, when the newform is defined over a large field. For example, there is a newform

f = ∑_{n=1}^{∞} a_{n}q^{n} ∈ S_{2}(Γ_{0}(389))

such that if α = a_{2}, then

1097385680·a_{3}(f) = −20146763x^{19} + 102331615x^{18} + 479539092x^{17}
− 3014444212x^{16} − 3813583550x^{15} + 36114755350x^{14}
+ 6349339639x^{13} − 227515736964x^{12} + 71555185319x^{11}

+ 816654992625x^{10} − 446376673498x^{9} − 1698789732650x^{8}

+ 1063778499268x^{7} + 1996558922610x^{6} − 1167579836501x^{5}

− 1238356001958x^{4} + 523532113822x^{3} + 352838824320x^{2}
− 58584308844x − 25674258672.

In contrast, if we take v = {0, ∞} = (0, 1) ∈ 𝕄_{2}(Γ_{0}(389))^{+}, then

T_{3}(v) = −4(1, 0) + 2(1, 291) − 2(1, 294) − 2(1, 310) + 2(1, 313) + 2(1, 383).

Storing T_{3}(v), T_{5}(v), … as vectors is vastly more compact than storing a_{3}(f), a_{5}(f), … directly as polynomials in a_{2}!

9.4. Congruences Between Newforms

This section is about congruences between modular forms. Understanding congruences is crucial for studying Serre’s conjectures, Galois representations, and explicit construction of Hecke algebras. We assume more background in algebraic number theory here than elsewhere in this book.

9.4.1. Congruences Between Modular Forms. Let Γ be an arbitrary congruence subgroup of SL_{2}(ℤ), and suppose f ∈ M_{k}(Γ) is a modular form of integer weight k for Γ. Since ( \begin{matrix}1 & N \\ 0 & 1 \end{matrix} ) ∈ Γ for some integer N, the form f has a Fourier expansion in nonnegative powers of q^{1/N}. For a rational number n, let a_{n}(f) be the coefficient of q^{n} in the Fourier expansion of f. Put

ord_{q}(f) = min{n ∈ ℚ : a_{n} ≠ 0},

where by convention we take min ∅ = +∞, so ord_{q}(0) = +∞. 9.4.1.1. The j-invariant. Let

j = \frac{1}{q} + 744 + 196884q + ⋯

be the j-function, which is a weight 0 modular function that is holomorphic except for a simple pole at ∞ and has integer Fourier coefficients (see, e.g., [Ser73b, §VIII.3.3]).

Lemma 9.17. Suppose g is a weight 0 level 1 modular function that is holomorphic except possibly with a pole of order n at ∞. Then g is a polynomial in j of degree at most n. Moreover, the coefficients of this polynomial lie in the ideal I generated by the coefficients a_{m}(g) with m ≤ 0.

Proof. If n = 0, then g ∈ M_{0}(SL_{2}(ℤ)) = ℂ, so g is constant with constant term in I, so the statement is true. Next suppose n > 0 and the lemma has been proved for all functions with smaller order poles. Let α = a_{n}(g), and note that

ord_{q}(g − αj^{n}) = ord_{q} (g − α · (\frac{1}{q} + 744 + 196884q + ⋯)^{n}) > −n.

Thus by induction h = g − αj^{n} is a polynomial in j of degree < n with coefficients in the ideal generated by the coefficients a_{m}(g) with m < 0. It follows that g = α · j^{n} − h satisfies the conclusion of the lemma. □

9.4.1.2. Sturm’s Theorem. If O is the ring of integers of a number field, 𝔪 is a maximal ideal of O, and f = ∑ a_{n}q^{n} ∈ O[[q^{1/N}]] for some integer N, let

ord_{𝔪}(f) = ord_{q}(f mod 𝔪) = min{n ∈ ℚ : a_{n} ∉ 𝔪}.

Note that ord_{𝔪}(fg) = ord_{𝔪}(f) + ord_{𝔪}(g). The following theorem was first proved in [Stu87].

Theorem 9.18 (Sturm). Let 𝔪 be a prime ideal in the ring of integers O of a number field K, and let Γ be a congruence subgroup of SL_{2}(ℤ) of index m and level N. Suppose f ∈ M_{k}(Γ, O) is a modular form and

ord_{𝔪}(f) > \frac{km}{12}

or f ∈ S_{k}(Γ, O) is a cusp form and

ord_{𝔪}(f) > \frac{km}{12} − \frac{m − 1}{N}.

Then f ≡ 0 (mod 𝔪).

Proof. Case 1: First we assume Γ = SL_{2}(ℤ). Let

Δ = q + 24q^{2} + ⋯ ∈ S_{12}(SL_{2}(ℤ), ℤ)

be the Δ function. Since ord_{𝔪}(f) > k/12, we have ord_{𝔪}(f^{12}) > k. We have

(9.4.1)  ord_{q}(f^{12} · Δ^{−k}) = 12 · ord_{q}(f) − k · ord_{q}(Δ) ≥ −k,

since f is holomorphic at infinity and Δ has a zero of order 1. Also

(9.4.2)  ord_{𝔪}(f^{12} · Δ^{−k}) = ord_{𝔪}(f^{12}) − k · ord_{𝔪}(Δ) > k − k = 0.

Combining (9.4.1) and (9.4.2), we see that

f^{12} · Δ^{−k} = ∑_{n≥−k} b_{n}q^{n},

with b_{n} ∈ O and b_{n} ∈ 𝔪 if n ≤ 0.

By Lemma 9.17,

f^{12} · Δ^{−k} ∈ 𝔪[j]

is a polynomial in j of degree at most k with coefficients in 𝔪. Thus

f^{12} ∈ 𝔪[j] · Δ^{k},

so since the coefficients of Δ are integers, every coefficient of f^{12} is in 𝔪. Thus ord_{𝔪}(f^{12}) = +∞, hence ord_{𝔪}(f) = +∞, so f = 0, as claimed.

Case 2: Γ Arbitrary

Let N be such that Γ(N) ⊂ Γ, so also f ∈ M_{k}(Γ(N)). If g ∈ M_{k}(Γ(N)) is arbitrary, then because Γ(N) is a normal subgroup of SL_{2}(ℤ), we have that for any γ ∈ Γ(N) and δ ∈ SL_{2}(ℤ), that

(g^{[δ]_{k}})^{[γ]_{k}} = g^{[δγ]_{k}} = g^{[γ′δ]_{k}} = (g^{[γ′]_{k}})^{[δ]_{k}} = g^{[δ]_{k}},

where γ′ ∈ SL_{2}(ℤ). Thus for any δ ∈ SL_{2}(ℤ), we have that g^{[δ]_{k}} ∈ M_{k}(Γ(N)), so SL_{2}(ℤ) acts on M_{k}(Γ(N)).

It is a standard (but nontrivial) fact about modular forms, which comes from the geometry of the modular curve X(N) over ℚ(ζ_{N}) and ℤ[ζ_{N}], that M_{k}(Γ(N)) has a basis with Fourier expansions in ℤ[ζ_{N}][[q^{1/N}]], and that the action of SL_{2}(ℤ) on M_{k}(Γ(N)) preserves

M_{k}(Γ(N), ℚ(ζ_{N})) = M_{k}(Γ(N)) ∩ (ℚ(ζ_{N})[[q^{1/N}]]),

and the cuspidal subspace S_{k}(Γ(N), ℚ(ζ_{N})). In particular, for any γ ∈ SL_{2}(ℤ),

f^{[γ]_{k}} ∈ M_{k}(Γ(N), K(ζ_{N})),

Moreover, the denominators of f^{[γ]_{k}} are bounded, since f is an O[ζ_{N}]-linear combination of a basis for M_{k}(Γ(N), ℤ[ζ_{N}]), and the denominators of f^{[γ]_{k}} divide the product of the denominators of the images of each of these basis vectors under [γ]_{k}.

Let L = K(ζ_{N}). Let 𝔐 be a prime of O_{L} that divides 𝔪O_{L}. We will now show that for each γ ∈ SL_{2}(ℤ), the Chinese remainder theorem implies that there is an element A_{γ} ∈ L^{∗} such that

(9.4.3) A_{γ} · f^{[γ]_{k}} ∈ M_{k}(Γ(N), O_{L})  and  ord_{𝔐}(A_{γ} · f^{[γ]_{k}}) < ∞.

First find A ∈ L^{∗} such that A · f^{[γ]_{k}} has coefficients in O_{L}. Choose α ∈ 𝔐 with α ∉ 𝔐^{2}, and find a negative power α^{t} such that α^{t} · A · f^{[γ]_{k}} has 𝔐integral coefficients and finite valuation. This is possible because we assumed that f is nonzero. Use the Chinese remainder theorem to find β ∈ O_{L} such that β ≡ 1 (mod 𝔐) and β ≡ 0 (mod ℘) for each prime ℘ ≠ 𝔐 that divides (α). Then for some s we have

β^{s} · α^{t} · A · f^{[γ]_{k}} = A_{γ} · f^{[γ]_{k}} ∈ M_{k}(Γ(N), O_{L}),

and ord_{𝔐}(A_{γ} · f^{[γ]_{k}}) < ∞.

Write

SL_{2}(ℤ) = ⋃_{i=1}^{m} Γγ_{i}

with γ_{1} = ( \begin{matrix}1 & 0 \\ 0 & 1 \end{matrix} ), and let

F = f · ∏_{i=2}^{m} A_{γ_{i}} · f^{[γ_{i}]_{k}}.

Then F ∈ M_{km}(SL_{2}(ℤ)) and since 𝔐 ∩ O_{K} = 𝔪, we have ord_{𝔐}(f) = ord_{𝔪}(f), so

ord_{𝔐}(F) ≥ ord_{𝔐}(f) = ord_{𝔪}(f) > \frac{km}{12}.

Thus we can apply case 1 to conclude that

ord_{𝔐}(F) = +∞.

Thus

(9.4.4)  ∞ = ord_{𝔐}(F) = ord_{𝔪}(f) + ∑_{i=2}^{m} ord_{𝔐}(A_{γ_{i}}f^{[γ]_{k}}),

so ord_{𝔪}(f) = +∞, because of (9.4.3).

We next obtain a better bound when f is a cusp form. Since [γ]_{k} preserves cusp forms, ord_{𝔐}(A_{γ_{i}}f^{[γ]_{k}}) ≥ \frac{1}{N} for each i. Thus

ord_{𝔐}(F) ≥ ord_{𝔐}(f) + \frac{m − 1}{N} = ord_{𝔪}(f) + \frac{m − 1}{N} > \frac{km}{12},

since now we are merely assuming that

ord_{𝔪}(f) > \frac{km}{12} − \frac{m − 1}{N}.

Thus we again apply case 1 to conclude that ord_{𝔐}(F) = +∞, and using (9.4.4) conclude that ord_{𝔪}(f) = +∞. □

Corollary 9.19. Let 𝔪 be a prime ideal in the ring of integers O of a number field. Suppose f, g ∈ M_{k}(Γ, O) are modular forms and

a_{n}(f) ≡ a_{n}(g) (mod 𝔪)

for all

n ≤ \begin{cases}\frac{km}{12} − \frac{m − 1}{N} & if f − g ∈ S_{k}(Γ, O), \\ \frac{km}{12} & otherwise, \end{cases}

where m = [SL_{2}(ℤ) : Γ]. Then f ≡ g (mod 𝔪).

Buzzard proved the following corollary, which is extremely useful in practical computations. It asserts that the Sturm bound for modular forms with character is the same as the Sturm bound for Γ_{0}(N).

Corollary 9.20 (Buzzard). Let 𝔪 be a prime ideal in the ring of integers O of a number field. Suppose f, g ∈ M_{k}(N, ε, O) are modular forms with Dirichlet character ε : (ℤ/Nℤ)^{∗} → ℂ^{∗} and assume that

a_{n}(f) ≡ a_{n}(g) (mod 𝔪)  for all  n ≤ \frac{km}{12},

where

m = [SL_{2}(ℤ) : Γ_{0}(N)] = #ℙ^{1}(ℤ/Nℤ) = N · ∏_{p|N} (1 + \frac{1}{p}) .

Then f ≡ g (mod 𝔪).

Proof. Let h = f − g and let r = km/12, so ord_{𝔪}(h) > r. Let s be the order of the Dirichlet character ε. Then h^{s} ∈ M_{ks}(Γ_{0}(N)) and

ord_{𝔪}(h^{s}) > sr = \frac{ksm}{12}.

By Theorem 9.18, we have ord_{𝔪}(h^{s}) = ∞, so ord_{𝔪}(h) = ∞. It follows that f ≡ g (mod 𝔪). □

9.4.1.3. Congruence for Newforms. Sturm’s paper [Stu87] also applies some results of Asai on q-expansions at various cusps to obtain a more refined result for newforms.

Theorem 9.21 (Sturm). Let N be a positive integer that is square free, and suppose f and g are two newforms in S_{k}(N, ε, O), where O is the ring of integers of a number field, and suppose that 𝔪 is a maximal ideal of O. Let I be an arbitrary subset of the prime divisors of N. If a_{p}(f) = a_{p}(g) for all p ∈ I, and

a_{p}(f) ≡ a_{p}(g) (mod 𝔪)

for all primes

p ≤ \frac{k · [SL_{2}(ℤ) : Γ_{0}(N)]}{12 · 2^{#I}},

then f ≡ g (mod 𝔪).

The paper [BS02] contains a similar result about congruences between newforms, which does not require that the level be square free. Recall from Definition 4.17 that the conductor of a Dirichlet character ε is the largest divisor c of N such that ε factors through (ℤ/cℤ)^{×}.

Theorem 9.22. Let N > 4 be any integer, and suppose f and g are two normalized eigenforms in S_{k}(N, ε; O), where O is the ring of integers of a number field, and suppose that 𝔪 is a maximal ideal of O. Let I be the set of prime divisors of N that do not divide \frac{N}{cond(ε)}. If

a_{p}(f) ≡ a_{p}(g) (mod 𝔪)

for all primes p ∈ I and for all primes

p ≤ \frac{k · [SL_{2}(ℤ) : Γ_{0}(N)]}{12 · 2^{#I}},

then f ≡ g (mod 𝔪).

For the proof, see Lemma 1.4 and Corollary 1.7 in [BS02, §1.3].

9.4.2. Generating the Hecke Algebra. The following theorem appeared in [LS02, Appendix], except that we give a better bound here. It is a nice application of the congruence result above, which makes possible explicit computations with Hecke rings 𝕋.

Theorem 9.23. Suppose Γ is a congruence subgroup that contains Γ_{1}(N) and let

(9.4.5)  r = \frac{km}{12} − \frac{m − 1}{N},

where m = [SL_{2}(ℤ) : Γ]. Then the Hecke algebra

𝕋 = ℤ[…, T_{n}, …] ⊂ End(S_{k}(Γ))

is generated as a ℤ-module by the Hecke operators T_{n} for n ≤ r.

Proof. For any ring R, let S_{k}(N, R) = S_{k}(N; ℤ) ⊗ R, where S_{k}(N; ℤ) ⊂ ℤ[[q]] is the submodule of cusp forms with integer Fourier expansion at the cusp ∞, and let 𝕋_{R} = 𝕋 ⊗_{ℤ} R. For any ring R, there is a perfect pairing

S_{k}(N, R) ⊗_{R} 𝕋_{R} → R

given by ⟨f, T ⟩ ↦ a_{1}(T (f)) (this is true for R = ℤ, hence for any R).

Let M be the submodule of 𝕋 generated by T_{1}, T_{2}, …, T_{r}, where r is the largest integer ≤ \frac{kN}{12} · [SL_{2}(ℤ) : Γ]. Consider the exact sequence of additive abelian groups

0 → M →^{i} 𝕋 → 𝕋/M → 0.

Let p be a prime and use that tensor product is right exact to obtain an exact sequence

M ⊗ 𝔽_{p} →^{\overline{i}} 𝕋 ⊗ 𝔽_{p} → (𝕋/M) ⊗ 𝔽_{p} → 0.

Suppose that f ∈ S_{k}(N, 𝔽_{p}) pairs to 0 with each of T_{1}, …, T_{r}. Then

a_{m}(f) = a_{1}(T_{m}f) = ⟨f, T_{m}⟩ = 0

in 𝔽_{p} for each m ≤ r. By Theorem 9.18, it follows that f = 0. Thus the pairing restricted to the image of M ⊗𝔽_{p} in 𝕋_{𝔽_{p}} is nondegenerate, so because (9.4.5) is perfect, it follows that

dim_{𝔽_{p}} \overline{i}(M ⊗ 𝔽_{p}) = dim_{𝔽_{p}} S_{k}(N, 𝔽_{p}).

Thus (𝕋/M) ⊗ 𝔽_{p} = 0. Repeating the argument for all primes p shows that 𝕋/M = 0, as claimed. □

Remark 9.24. In general, the conclusion of Theorem 9.23 is not true if one considers only T_{n} where n runs over the primes less than the bound. Consider, for example, S_{2}(11), where the bound is 1 and there are no primes ≤ 1. However, the Hecke algebra is generated as an algebra by operators T_{p} with p ≤ r.

9.5. Exercises

9.1 Prove that the group Γ_{1}(N) is a normal subgroup of Γ_{0}(N), and

the quotient Γ_{0}(N)/Γ_{1}(N) is isomorphic to (ℤ/Nℤ)^{∗}. 9.2 Prove that the operators ⟨d⟩ are elements of ℤ[…, T_{n}, …]. [Hint: Use Dirichlet’s theorem on primes in arithmetic progression.] 9.3 Find an example like Example 9.6 but in which the new subspace is nonzero. More precisely, find an integer N such that the Hecke ring on S_{2}(Γ_{0}(N)) is not equal to the ring generated by Hecke operators T_{n} with gcd(n, N) = 1 and S_{2}(Γ_{0}(N))_{new} ≠ 0.

9.4 (a) Following Example 9.15 compute a basis for S_{2}(Γ_{0}(31)). (b) Use Algorithm 9.12 to compute a basis for S_{2}(Γ_{0}(31)).

Computing Periods

This chapter is about computing period maps associated to newforms. We assume you have read Chapters 8 and 9, and that you are familiar with abelian varieties at the level of [Ros86].

In Section 10.1 we introduce the period map and give some examples of situations in which computing it is relevant. Section 10.2 is about how to use the period mapping to attach an abelian variety to any newform. In Section 10.3, we introduce extended modular symbols, which are the key computational tool for quickly computing periods of modular symbols. We turn to numerical computation of period integrals in Section 10.4, and in Section 10.5 we explain how to use Atkin-Lehner operators to speed convergence. In Section 10.6 we explain how to compute the full period map with a minimum amount of work.

Section 10.7 briefly sketches three approaches to computing all elliptic curves of a given conductor.

This chapter was inspired by [Cre97a] which contains similar algorithms in the special case of a newform f = ∑ a_{n}q^{n} ∈ S_{2}(Γ_{0}(N)) with a_{n} ∈ ℤ.

See also [Dok04] for algorithmic methods to compute special values of very general L-functions, which can be used for approximating L(f, s) for arbitrary s.

10.1. The Period Map

Let Γ be a subgroup of SL_{2}(ℤ) that contains Γ_{1}(N) for some N, and suppose

f = ∑_{n≥1} a_{n}q^{n} ∈ S_{k}(Γ).

is a newform (see Definition 9.9). In this chapter we describe how to approximately compute the complex period mapping

Φ_{f} : 𝕄_{k}(Γ) → ℂ,

given by

Φ_{f}(P {α, β}) = ⟨f, P {α, β}⟩ = ∫_{α}^{β} f(z)P (z, 1)dz,

as in Section 8.5. As an application, we can approximate the special values L(f, j), for j = 1, 2, …, k − 1 using (8.5.5). We can also compute the period lattice attached to a modular abelian variety, which is an important step, e.g., in enumeration of ℚ-curves (see, e.g., [GLQ04]) or computation of a curve whose Jacobian is a modular abelian variety A_{f} (see, e.g., [Wan95]).

10.2. Abelian Varieties Attached to a Newforms

Fix a newform f ∈ S_{k}(Γ), where Γ_{1}(N) ⊂ Γ for some N. Let f_{1}, …, f_{d} be the Gal(\overline{ℚ}/ℚ)-conjugates of f, where Gal(\overline{ℚ}/ℚ) acts via its action on the Fourier coefficients, which are algebraic integers (since they are the eigenvalues of matrices with integer entries). Let

(10.2.1)  V_{f} = ℂf_{1} ⊕ ⋯ ⊕ ℂf_{d} ⊂ S_{k}(Γ)

be the subspace of cusp forms spanned by the Gal(\overline{ℚ}/ℚ)-conjugates of f. One can show using the results discussed in Section 9.2 that the above sum is direct, i.e., that V_{f} has dimension d.

The integration pairing induces a 𝕋-equivariant homomorphism

Φ_{f} : 𝕄_{k}(Γ) → V_{f}^{∗} = Hom_{ℂ}(V_{f}, ℂ),

from modular symbols to the ℂ-linear dual V_{f}^{∗} of V_{f}. Here 𝕋 acts on V_{f}^{∗} via (φ.t)(x) = φ(tx), and this homomorphism is 𝕋-stable by Theorem 8.21. The abelian variety attached to f is the quotient

A_{f}(ℂ) = V_{f}^{∗}/Φ_{f}(𝕊_{k}(Γ; ℤ)).

Here 𝕊_{k}(Γ; ℤ) = 𝕊_{k}(Γ), and we include the ℤ in the notation to emphasize that these are integral modular symbols. See [Shi59] for a proof that A_{f}(ℂ) is an abelian variety (in particular, Φ_{f}(𝕊_{k}(Γ; ℤ)) is a lattice, and V_{f}^{∗} is equipped with a nondegenerate Riemann form).

When k = 2, we can also construct A_{f} as a quotient of the modular Jacobian Jac(X_{Γ}), so A_{f} is an abelian variety canonically defined over ℚ.

In general, we have an exact sequence

0 → Ker(Φ_{f}) → 𝕊_{k}(Γ) → V_{f}^{∗} → A_{f}(ℂ) → 0.

Remark 10.1. When k = 2 the abelian variety A_{f} has a canonical structure of abelian variety over ℚ. Moreover, there is a conjecture of Ribet and Serre in [Rib92] that describes the simple abelian varieties A over ℚ that should arise via this construction. In particular, the conjecture is that A is isogenous to some abelian variety A_{f} if and only if End(A/ℚ) ⊗ ℚ is a number field of degree dim(A). The abelian varieties A_{f} have this property since ℚ(…, a_{n}(f), …) embeds in End(A/ℚ) ⊗ ℚ, and the endomorphism ring over ℚ has degree at most dim(A) (see [Rib92] for details). Ribet proves that his conjecture is a consequence of Serre’s conjecture [Ser87] on modularity of mod p odd irreducible Galois representations (see Section 1.5). Much of Serre’s conjecture has been proved by Khare and Wintenberger (not published). In particular, it is known that if A is a simple abelian variety over ℚ with End(A/ℚ) ⊗ ℚ a number field of degree dim(A), and A has good reduction at 2, then A is isogenous to some abelian variety A_{f}.

Remark 10.2. When k > 2 there is an object called a Grothendieck motive that is attached to f and has a canonical “structure over ℚ”. See [Sch90].

10.3. Extended Modular Symbols

In this section, we extend the notion of modular symbols to allows symbols of the form P {w, z} where w and z are arbitrary elements of 𝔥^{∗} = 𝔥∪ℙ^{1}(ℚ).

Definition 10.3 (Extended Modular Symbols). The abelian group \overline{𝕄}_{k} of extended modular symbols of weight k is the ℤ-span of symbols P {w, z}, with P ∈ V_{k−2} a homogeneous polynomial of degree k−2 with integer coefficients, modulo the relations

P · ({w, y} + {y, z} + {z, w}) = 0

and modulo any torsion.

Fix a finite-index subgroup Γ ⊂ SL_{2}(ℤ). Just as for usual modular symbols, \overline{𝕄}_{k} is equipped with an action of Γ, and we define the space of extended modular symbols of weight k for Γ to be the quotient

\overline{𝕄}_{k}(Γ) = (\overline{𝕄}_{k}/⟨γx − x : γ ∈ Γ, x ∈ \overline{𝕄}_{k}⟩)/ tor .

The quotient \overline{𝕄}_{k}(Γ) is torsion free and fixed by Γ.

The integration pairing extends naturally to a pairing

(10.3.1)  (S_{k}(Γ) ⊕ \overline{S}_{k}(Γ)) × \overline{𝕄}_{k}(Γ) → ℂ,

where we recall from (8.5.1) that \overline{S}_{k}(Γ) denotes the space of antiholomorphic cusp forms. Moreover, if

ι : 𝕄_{k}(Γ) → \overline{𝕄}_{k}(Γ)

is the natural map, then ι respects (10.3.1) in the sense that for all f ∈ S_{k}(Γ) ⊕ \overline{S}_{k}(Γ) and x ∈ 𝕄_{k}(Γ), we have

⟨f, x⟩ = ⟨f, ι(x)⟩.

As we will see soon, it is often useful to replace x ∈ 𝕄_{k}(Γ) first by ι(x), and then by an equivalent sum ∑ y_{i} of symbols y_{i} ∈ \overline{𝕄}_{k}(N, ε) such that ⟨f, ∑ y_{i}⟩ is easier to compute numerically than ⟨f, x⟩.

Let ε be a Dirichlet character of modulus N. If γ = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ SL_{2}(ℤ), let ε(γ) = ε(d). Let \overline{𝕄}_{k}(N, ε) be the quotient of \overline{𝕄}_{k}(N, ℤ[ε]) by the relations γ(x) − ε(γ)x, for all x ∈ 𝕄_{k}(N, ℤ[ε]), γ ∈ Γ_{0}(N), and modulo any torsion.

10.4. Approximating Period Integrals

In this section we assume Γ is a congruence subgroup of SL_{2}(ℤ) that contains Γ_{1}(N) for some N. Suppose α ∈ 𝔥, so Im(α) > 0 and m is an integer such that 0 ≤ m ≤ k − 2, and consider the extended modular symbol X^{m}Y^{k−2−m}{α, ∞}. Let ⟨·, ·⟩ denote the integration pairing from Section 8.5. Given an arbitrary cusp form f = ∑_{n=1}^{∞} a_{n}q^{n} ∈ S_{k}(Γ), we have

(10.4.1)  Φ_{f}(X^{m}Y^{k−2−m}{α, ∞}) = ⟨f, X^{m}Y^{k−2−m}{α, ∞}⟩

= ∫_{α}^{∞} f(z)z^{m}dz (10.4.2)

= ∑_{n=1}^{∞} a_{n} ∫_{α}^{∞} e^{2πinz}z^{m}dz. (10.4.3)

The reversal of summation and integration is justified because the imaginary part of α is positive so that the sum converges absolutely. The following lemma is useful for computing the above infinite sum.

Lemma 10.4.

(10.4.4)  ∫_{α}^{∞} e^{2πinz}z^{m}dz = e^{2πinα} ∑_{s=0}^{m} (\frac{(−1)^{s}α^{m−s}}{(2πin)^{s+1}} ∏_{j=(m+1)−s}^{m} j) .

Proof. See Exercise 10.1 □

In practice we will usually be interested in computing the period map Φ_{f} when f ∈ S_{k}(Γ) is a newform. Since f is a newform, there is a Dirichlet character ε such that f ∈ S_{k}(N, ε). The period map Φ_{f} : 𝕄_{k}(Γ) → ℂ then factors through the quotient 𝕄_{k}(N, ε), so it suffices to compute the period map on modular symbols in 𝕄_{k}(N, ε).

The following proposition is an analogue of [Cre97a, Prop. 2.1.1(5)].

Proposition 10.5. For any γ ∈ Γ_{0}(N), P ∈ V_{k−2} and α ∈ 𝔥^{∗}, we have the following relation in \overline{𝕄}_{k}(N, ε):

(10.4.5) P {∞, γ(∞)} = P {α, γ(α)} + (P − ε(γ)γ^{−1}P){∞, α}
(10.4.6)  = ε(γ)(γ^{−1}P){α, ∞} − P {γ(α), ∞}.

Proof. By definition, if x ∈ 𝕄_{k}(N, ε) is a modular symbol and γ ∈ Γ_{0}(N) then γx = ε(γ)x. Thus ε(γ)γ^{−1}x = x, so

P {∞, γ(∞)} = P {∞, α} + P {α, γ(α)} + P {γ(α), γ(∞)}
= P {∞, α} + P {α, γ(α)} + ε(γ)γ^{−1}(P {γ(α), γ(∞)})
= P {∞, α} + P {α, γ(α)} + ε(γ)(γ^{−1}P){α, ∞}
= P {α, γ(α)} + P {∞, α} − ε(γ)(γ^{−1}P){∞, α}
= P {α, γ(α)} + (P − ε(γ)γ^{−1}P){∞, α}.

The second equality in the statement of the proposition now follows easily.

□

In the case of weight two and trivial character, the “error term”

(10.4.7)  (P − ε(γ)γ^{−1}P){∞, α}

vanishes since P is constant and ε(γ) = 1. In general this term does not vanish. However, we can suitably modify the formulas found in [Cre97a, 2.10], and still obtain an algorithm for computing period integrals.

Algorithm 10.6 (Period Integrals). Given γ ∈ Γ_{0}(N), P ∈ V_{k−2} and f ∈ S_{k}(N, ε) presented as a q-expansion to some precision, this algorithm outputs an approximation to the period integral ⟨f, P {∞, γ(∞)}⟩.

(1) Write γ = ( \begin{matrix}a & b \\ cN & d \end{matrix} ) ∈ Γ_{0}(N), with a, b, c, d ∈ ℤ, and set α = \frac{−d+i}{cN} in

Proposition 10.5.

(2) Replacing γ by −γ if necessary, we find that the imaginary parts of α and γ(α) = \frac{a+i}{cN} are both equal to the positive number \frac{1}{cN}.

(3) Use (10.4.3) and Lemma 10.4 to compute the integrals that appear in Proposition 10.5.

It would be nice if the modular symbols of the form P {∞, γ(∞)}, for P ∈ V_{k−2} and γ ∈ Γ_{0}(N) were to generate a large subspace of 𝕄_{k}(N, ε)⊗ℚ. When k = 2 and ε = 1, Manin proved in [Man72] that the map Γ_{0}(N) → H_{1}(X_{0}(N), ℤ) sending γ to {0, γ(0)} is a surjective group homomorphism. When k > 2, the author does not know a similar group-theoretic statement. However, we have the following theorem.

[figure: ∞; P; γ∞; Q; β∞; α; P; γα; Q; βα]

Figure 10.4.1. “Transporting” a transportable modular symbol.

Theorem 10.7. Any element of 𝕊_{k}(N, ε) can be written in the form

∑_{i=1}^{n} P_{i}{∞, γ_{i}(∞)}

for some P_{i} ∈ V_{k−2} and γ_{i} ∈ Γ_{0}(N). Moreover, P_{i} and γ_{i} can be chosen so that ∑ P_{i} = ∑ ε(γ_{i})γ_{i}^{−1}(P_{i}), so the error term (10.4.7) vanishes.

The author and Helena Verrill prove this theorem in [SV01]. The condition that the error term vanishes means that one can replace ∞ by any α in the expression for the modular symbol and obtain an equivalent modular symbol. For this reason, we call such modular symbols transportable, as illustrated in Figure 10.4.1.

Note that in general not every element of the form P {∞, γ(∞)} must lie in 𝕊_{k}(N, ε). However, if γP = P then P {∞, γ(∞)} does lie in 𝕊_{k}(N, ε). It would be interesting to know under what circumstances 𝕊_{k}(N, ε) is generated by symbols of the form P {∞, γ(∞)} with γP = P. This sometimes fails for k odd; for example, when k = 3 the condition γP = P implies that γ ∈ Γ_{0}(N) has an eigenvector with eigenvalue 1, hence is of finite order. When k is even the author can see no obstruction to generating 𝕊_{k}(N, ε) using such symbols.

10.5. Speeding Convergence Using Atkin-Lehner

Let w_{N} = ( \begin{matrix}0 & −1 \\ N & 0 \end{matrix} ) ∈ Mat_{2}(ℤ). Consider the Atkin-Lehner involution W_{N} on M_{k}(Γ_{1}(N)), which is defined by

W_{N}(f) = N^{(2−k)/2} · f|_{[w_{N}]_{k}}

= N^{(2−k)/2} · f (−\frac{1}{Nz} ) · N^{k−1} · (Nz)^{−k}

= N^{−k/2} · z^{−k} · f (−\frac{1}{Nz} ) .

Here we take the positive square root if k is odd. Then W_{N}^{2} = (−1)^{k} is an involution when k is even.

There is an operator on modular symbols, which we also denote W_{N}, which is given by

W_{N}(P {α, β}) = N^{(2−k)/2} · w_{N}(P){w_{N}(α), w_{N}(β)}

= N^{(2−k)/2} · P (−Y, NX) \{−\frac{1}{αN} , −\frac{1}{βN} \} ,

and one has that if f ∈ S_{k}(Γ_{1}(N)) and x ∈ 𝕄_{k}(Γ_{1}(N)), then

⟨W_{N}(f), x⟩ = ⟨f, W_{N}(x)⟩.

If ε is a Dirichlet character of modulus N, then the operator W_{N} sends S_{k}(N, ε) to S_{k}(Γ_{1}(N), \overline{ε}). Thus if ε^{2} = 1, then W_{N} preserves S_{k}(N, ε). In particular, W_{N} acts on S_{k}(Γ_{0}(N)).

The next proposition shows how to compute the pairing ⟨f, P {∞, γ(∞)}⟩ under certain restrictive assumptions. It generalizes a result of [Cre97b] to higher weight.

Proposition 10.8. Let f ∈ S_{k}(N, ε) be a cusp form which is an eigenform for the Atkin-Lehner operator W_{N} having eigenvalue w ∈ {±1} (thus ε^{2} = 1 and k is even). Then for any γ ∈ Γ_{0}(N) and any P ∈ V_{k−2}, with the property that γP = ε(γ)P, we have the following formula, valid for any α ∈ 𝔥:

⟨f, P \{∞, γ(∞)\}⟩ = ⟨f, w \frac{P (Y, −NX)}{N^{k/2−1}}\{w_{N}(α), ∞\}

+ (P − w \frac{P (Y, −NX)}{N^{k/2−1}}) \{i/\sqrt{N}, ∞\} − P \{γ(α), ∞\}⟩.

Here w_{N}(α) = −\frac{1}{Nα}.

Proof. By Proposition 10.5 our condition on P implies that P {∞, γ(∞)} = P {α, γ(α)}. We describe the steps of the following computation below.

⟨f, P {α, γ(α)}⟩

= ⟨f, P \{α, i/\sqrt{N}\} + P \{i/\sqrt{N}, W (α)\} + P \{W (α), γ(α)\}⟩

= ⟨f, w \frac{W (P)}{N^{k/2−1}} \{W (α), i/\sqrt{N}\} + P \{i/\sqrt{N}, W (α)\} + P \{W (α), γ(α)\}⟩ .

For the first equality, we break the path into three paths, and in the second, we apply the W -involution to the first term, and use that the action of W is compatible with the pairing ⟨ , ⟩ and that f is an eigenvector with eigenvalue w. In the following sequence of equalities we combine the first two terms and break up the third, then we replace \{W (α), i/\sqrt{N}\} by \{W (α), ∞\} + \{∞, i/\sqrt{N}\} and regroup:

w \frac{W (P)}{N^{k/2−1}} \{W (α), i/\sqrt{N}\} + P \{i/\sqrt{N}, W (α)\} + P \{W (α), γ(α)\}

= (w \frac{W (P)}{N^{k/2−1}} − P ) \{W (α), i/\sqrt{N}\} + P \{W (α), ∞\} − P \{γ(α), ∞\}

= w \frac{W (P)}{N^{k/2−1}} \{W (α), ∞\} + (P − w \frac{W (P)}{N^{k/2−1}} ) \{i/\sqrt{N}, ∞\} − P \{γ(α), ∞\}.

□

A good choice for α is α = γ^{−1} (\frac{b}{d} + \frac{i}{d\sqrt{N}} ), so that W (α) = \frac{c}{d} + \frac{i}{d\sqrt{N}}. This maximizes the minimum of the imaginary parts of α and W (α), which results in series that converge more quickly.

Let γ = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ Γ_{0}(N). The polynomial

P (X, Y) = (cX^{2} + (d − a)XY − bY^{2})^{\frac{k−2}{2}}

satisfies γ(P) = P. We obtained this formula by viewing V_{k−2} as the (k − 2)th symmetric product of the two-dimensional space on which Γ_{0}(N) acts naturally. For example, observe that since det(γ) = 1 the symmetric product of two eigenvectors for γ is an eigenvector in V_{2} having eigenvalue 1. For the same reason, if ε(γ) ≠ 1, there need not be a polynomial P (X, Y) such that γ(P) = ε(γ)P. One remedy is to choose another γ so that ε(γ) = 1.

Since the imaginary parts of the terms i/\sqrt{N}, α and W (α) in the proposition are all relatively large, the sums appearing at the beginning of Section 10.4 converge quickly if d is small. It is important to choose γ in Proposition 10.8 with d small, otherwise the series will converge very slowly.

Remark 10.9. Is there a generalization of Proposition 10.8 without the restrictions that ε^{2} = 1 and k is even?

10.5.1. Another Atkin-Lehner Trick. Suppose E is an elliptic curve and let L(E, s) be the corresponding L-function. Let ε ∈ {±1} be the root number of E, i.e., the sign of the functional equation for L(E, s), so Λ(E, s) = εΛ(E, 2−s), where Λ(E, s) = N^{s/2}(2π)^{−s}Γ(s)L(E, s). Let f = f_{E} be the modular form associated to E (which exists by [Wil95, BCDT01]). If W_{N}(f) = wf, then ε = −w (see Exercise 10.2). We have

L(E, 1) = −2π ∫_{0}^{∞} f(z) dz
= −2πi ⟨f, {0, ∞}⟩
= −2πi ⟨f, \{0, i/\sqrt{N}\} + \{i/\sqrt{N}, ∞\}⟩
= −2πi ⟨wf, \{w_{N}(0), w_{N}(i/\sqrt{N})\} + \{i/\sqrt{N}, ∞\}⟩
= −2πi ⟨wf, \{∞, i/\sqrt{N}\} + \{i/\sqrt{N}, ∞\}⟩
= −2πi (w − 1) ⟨f, \{∞, i/\sqrt{N}\}⟩

If w = 1, then L(E, 1) = 0. If w = −1, then

(10.5.1)  L(E, 1) = 4πi ⟨f, \{∞, i/\sqrt{N}\}⟩ = 2 ∑_{n=1}^{∞} \frac{a_{n}}{n} e^{−2πn/\sqrt{N}}.

For more about computing with L-functions of elliptic curves, including a trick for computing ε quickly without directly computing W_{N}, see [Coh93, §7.5] and [Cre97a, §2.11]. One can also find higher derivatives L^{(r)}(E, 1) by a formula similar to (10.5.1) (see [Cre97a, §2.13]). The methods in this chapter for obtaining rapidly converging series are not just of computational interest; see, e.g., [Gre83] for a nontrivial theoretical application to the Birch and Swinnerton-Dyer conjecture.

10.6. Computing the Period Mapping

Fix a newform f = ∑ a_{n}q^{n} ∈ S_{k}(Γ), where Γ_{1}(N) ⊂ Γ for some N. Let V_{f} be as in (10.2.1).

Let Θ_{f} : M_{k}(Γ; ℚ) → V be any ℚ-linear map with the same kernel as Φ_{f}; we call any such map a rational period mapping associated to f. Let Φ_{f} be the period mapping associated to the Gal(\overline{ℚ}/ℚ)-conjugates of f. We have a commutative diagram

\xymatrix{𝕄_{k}(Γ; ℚ) \ar[dr]_{Θ_{f}} \ar[rr]^{Φ_{f}} &  & Hom_{ℂ}(V_{f}, ℂ) \\  & V \ar@{^{(}->}[ur]^{i_{f}}}

Recall from Section 10.2 that the cokernel of Φ_{f} is the abelian variety A_{f}(ℂ). The Hecke algebra 𝕋 acts on the linear dual

𝕄_{k}(Γ; ℚ)^{∗} = Hom(𝕄_{k}(Γ), ℚ)

by (t.φ)(x) = φ(tx). Let I = I_{f} ⊂ 𝕋 be the kernel of the ring homomorphism 𝕋 → ℤ[a_{2}, a_{3}, …] that sends T_{n} to a_{n}. Let

𝕄_{k}(Γ; ℚ)^{∗}[I] = {φ ∈ 𝕄_{k}(Γ; ℚ)^{∗} : t.φ = 0 all t ∈ I}.

Since f is a newform one can show that 𝕄_{k}(Γ; ℚ)^{∗}[I] has dimension d. Let θ_{1}, …, θ_{d} be a basis for 𝕄_{k}(Γ; ℚ)^{∗}[I], so

Ker(Φ_{f}) = Ker(θ_{1}) ⊕ ⋯ ⊕ Ker(θ_{d}).

We can thus compute Ker(Φ_{f}), hence a choice of Θ_{f}. To compute Φ_{f} it remains to compute i_{f}.

Let S_{k}(Γ; ℚ) denote the space of cusp forms with q-expansion in ℚ[[q]]. By Exercise 10.3

S_{k}(Γ; ℚ)[I] = S_{k}(Γ)[I] ∩ ℚ[[q]]

is a ℚ-vector space of dimension d. Let g_{1}, …, g_{d} be a basis for this ℚ-vector space. We will compute Φ_{f} with respect to the basis of Hom_{ℚ}(S_{k}(Γ; ℚ)[I]; ℂ) dual to this basis. Choose elements x_{1}, …, x_{d} ∈ 𝕄_{k}(Γ) with the following properties:

(1) Using Proposition 10.5 or Proposition 10.8 it is possible to compute the period integrals ⟨g_{i}, x_{j}⟩, i, j ∈ {1, …, d} efficiently.

(2) The 2d elements v + η(v) and v − η(v) for v = Θ_{f}(x_{1}), …, Θ_{f}(x_{d}) span a space of dimension 2d (i.e., they span 𝕄_{k}(Γ)/ Ker(Φ_{f})).

Given this data, we can compute

i_{f}(v + η(v)) = 2Re(⟨g_{1}, x_{i}⟩, …, ⟨g_{d}, x_{i}⟩)

and

i_{f}(v − η(v)) = 2iIm(⟨g_{1}, x_{i}⟩, …, ⟨g_{d}, x_{i}⟩).

We break the integrals into real and imaginary parts because this increases the precision of our answers. Since the vectors v_{n} + η(v_{n}) and v_{n} − η(v_{n}), n = 1, …, d span 𝕄_{k}(N, ε; ℚ)/ Ker(Φ_{f}), we have computed i_{f}.

Remark 10.10. We want to find symbols x_{i} satisfying the conditions of Proposition 10.8. This is usually possible when d is very small, but in practice it is difficult when d is large.

Remark 10.11. The above strategy was motivated by [Cre97a, §2.10].

10.7. All Elliptic Curves of Given Conductor

Using modular symbols and the period map, we can compute all elliptic curves over ℚ of conductor N, up to isogeny. The algorithm in this section gives all modular elliptic curves (up to isogeny), i.e., elliptic curves attached to modular forms, of conductor N. Fortunately, it is now known by [Wil95, BCDT01, TW95] that every elliptic curve over ℚ is modular, so the procedure of this section gives all elliptic curves (up to isogeny) of given conductor. See [Cre06] for a nice historical discussion of this problem.

Algorithm 10.12 (Elliptic Curves of Conductor N). Given N > 0, this algorithm outputs equations for all elliptic curves of conductor N, up to isogeny.

(1) [Modular Symbols] Compute 𝕄_{2}(Γ_{0}(N)) using Section 8.7.

(2) [Find Rational Eigenspaces] Find the two-dimensional eigenspaces V in 𝕄_{2}(Γ_{0}(N))_{new} that correspond to elliptic curves. Do not use the algorithm for decomposition from Section 7.5, which is too complicated, and gives more information than we need. Instead, for the first few primes p ∤ N, compute all eigenspaces Ker(T_{p} − a), where a runs through integers with −2\sqrt{p} < a < 2\sqrt{p}. Intersect these eigenspaces to find the eigenspaces that correspond to elliptic curves. To find just the new ones, either compute the degeneracy maps to lower level, or find all the rational eigenspaces of all levels that strictly divide N and exclude them.

(3) [Find Newforms] Use Algorithm 9.14 to compute to some precision each newform f = ∑_{n=1}^{∞} a_{n}q^{n} ∈ ℤ[[q]] associated to each eigenspace V found in Step 2.

(4) [Find Each Curve] For each newform f found in Step 3, do the following:

(a) [Period Lattice] Compute the corresponding period lattice Λ = ℤω_{1} + ℤω_{2} by computing the image of Φ_{f}, as described in Section 10.6.

(b) [Compute τ] Let τ = ω_{1}/ω_{2}. If Im(τ) < 0, swap ω_{1} and ω_{2}, so Im(τ) > 0. By successively applying generators of SL_{2}(ℤ), we find an SL_{2}(ℤ) equivalent element τ′ in F, i.e., |Re(τ′)| ≤ 1/2 and |τ| ≥ 1.

(c) [c-invariants] Compute the invariants c_{4} and c_{6} of the lattice Λ using the following rapidly convergent series:

c_{4} = (\frac{2π}{ω_{2}} )^{4} · (1 + 240 ∑_{n=1}^{∞} \frac{n^{3}q^{n}}{1 − q^{n}} )

c_{6} = (\frac{2π}{ω_{2}} )^{6} · (1 − 504 ∑_{n=1}^{∞} \frac{n^{5}q^{n}}{1 − q^{n}} ) ,

where q = e^{2πiτ′}, where τ′ is as in Step 4b. A theorem of Edixhoven (that the Manin constant is an integer) implies that the invariants c_{4} and c_{6} of Λ are integers, so it is only necessary to compute Λ to large precision to completely determine them.

(d) [Elliptic Curve] An elliptic curve with invariants c_{4} and c_{6} is

E : y^{2} = x^{3} − \frac{c_{4}}{48}x − \frac{c_{6}}{864}.

(e) [Prove Correctness] Using Tate’s algorithm, find the conductor of E. If the conductor is not N, then recompute c_{4} and c_{6} using a larger precision everywhere (e.g., more terms of f, reals to larger precision, etc.) If the conductor is N, compute the coefficients b_{p} of the modular form g = g_{E} attached to the elliptic curve E, for p ≤ #ℙ^{1}(ℤ/Nℤ)/6. Verify that a_{p} = b_{p}, where a_{p} are the coefficients of f. If this equality holds, then E must be isogenous to the elliptic curve attached to f, by the Sturm bound (Theorem 9.18) and Faltings’s isogeny theorem. If the equality fails for some p, recompute c_{4} and c_{6} to larger precision.

There are numerous tricks to optimize the above algorithm. For example, often one can work separately with 𝕄_{k}(Γ_{0}(N))_{new}^{+} and 𝕄_{k}(Γ_{0}(N))_{new}^{−} and get enough information to find E, up to isogeny (see [Cre97b]).

Once we have one curve from each isogeny class of curves of conductor N, we find each curve in each isogeny class (which is another interesting problem discussed in [Cre97a]), hence all curves of conductor N. If E/ℚ is an elliptic curve, then any curve isogenous to E is isogenous via a chain of isogenies of prime degree. There is an a priori bound on the degrees of these isogenies due to Mazur. Also, there are various methods for finding all isogenies of a given degree with domain E. See [Cre97a, §3.8] for more details.

10.7.1. Finding Curves: S-Integral Points. In this section we briefly survey an alternative approach to finding curves of a given conductor by finding integral points on other elliptic curves.

Cremona and others have developed a complementary approach to the problem of computing all elliptic curves of given conductor (see [CL04]). Instead of computing all curves of given conductor, we instead consider the seemingly more difficult problem of finding all curves with good reduction outside a finite set S of primes. Since one can compute the conductor of a curve using Tate’s algorithm [Tat75, Cre97a, §3.2], if we know all curves with good reduction outside S, we can find all curves of conductor N by letting S be the set of prime divisors of N.

There is a strategy for finding all curves with good reduction outside S. It is not an algorithm, in the sense that it is always guaranteed to terminate (the modular symbols method above is an algorithm), but in practice it often works. Also, this strategy makes sense over any number field, whereas the modular symbols method does not (there are generalizations of modular symbols to other number fields).

Fix a finite set S of primes of a number field K. It is a theorem of Shafarevich that there are only finitely many elliptic curves with good reduction outside S (see [Sil92, §IX.6]). His proof uses that the group of S-units in K is finite, and Siegel’s theorem that there are only finitely many S-integral points on an elliptic curve. One can make all this explicit, and sometimes in practice one can compute all these S-integral points.

The problem of finding all elliptic curves with good reduction outside of S can be broken into several subproblems, the main ones being:

(1) Determine the following finite subgroup of K^{∗}/(K^{∗})^{m}:

K(S, m) = {x ∈ K^{∗}/(K^{∗})^{m} : m | ord_{𝔭}(x) all 𝔭 ∉ S}.

(2) Find all S-integral points on certain elliptic curves y^{2} = x^{3} + k.

In [CL04], there is one example, where they find all curves of conductor N = 2^{8} · 17^{2} = 73984 by finding all curves with good reduction outside {2, 17}. They finds 32 curves of conductor 73984 that divide into 16 isogeny classes. (Note that dim S_{2}(Γ_{0}(N)) = 9577.)

10.7.2. Finding Curves: Enumeration. One can also find curves by simply enumerating Weierstrass equations. For example, the paper [SW02] discusses a database that the author and Watkins created that contains hundreds of millions of elliptic curves. It was constructed by enumerating Weierstrass equations of a certain form. This database does not contain every curve of each conductor included in the database. It is, however, fairly complete in some cases. For example, using the Mestre method of graphs [Mes86] we verified in [JBS03] that the database contains all elliptic curve of prime conductor < 234446, which implies that the smallest conductor rank 4 curve is composite.

10.8. Exercises

10.1 Prove Lemma 10.4. 10.2 Suppose f ∈ S_{2}(Γ_{0}(N)) is a newform and that W_{N}(f) = wf. Let

Λ(E, s) = N^{s/2}(2π)^{−s}Γ(s)L(E, s). Prove that

Λ(E, s) = −wΛ(E, 2 − s).

[Hint: Show that Λ(f, s) = ∫_{0,∞} f(iy/\sqrt{N})y^{s−1} dy, then substitute 1/y for y.]

10.3 Let f = ∑ a_{n}q^{n} ∈ ℂ[[q]] be a power series whose coefficients a_{n} together generate a number field K of degree d over ℚ. Let V_{f} be the complex vector space spanned by the Gal(\overline{ℚ}/ℚ)-conjugates of f.

(a) Give an example to show that V_{f} need not have dimension d.

(b) Suppose V_{f} has dimension d. Prove that V_{f} ∩ ℚ[[q]] is a ℚ-

vector space of dimension d.

10.4 Find an elliptic curve of conductor 11 using Section 10.7.

Solutions to Selected Exercises

11.1. Chapter 1

(1) Exercise 1.1. Suppose γ = ( \begin{matrix}a & nb \\ c & d \end{matrix} ) ∈ GL_{2}(ℝ) is a matrix with positive determinant. Then γ is a linear fractional transformation that fixes the real line, so it must either fix or swap the upper and lower half planes. Now

γ(i) = \frac{ai + b}{ci + d} = \frac{ac + bd + (ad − bc)i}{d^{2} + c^{2}}.

so since det γ = ad − bc > 0 the imaginary part of γ(i) is positive, hence γ sends the upper half plane to itself.

(2) Exercise 1.2. Avoiding poles, the quotient rule for differentiation goes through exactly the same as in the real case, so any rational function f(z) = p(z)/q(z) (p, q ∈ ℂ[z]) is holomorphic on ℂ − {α : q(α) = 0}. By the fundamental theorem of algebra, this set of poles is finite, and hence it is discrete. Write q(z) = a_{n}(z − α_{1})^{r_{1}} ⋯ (z − α_{k})^{r_{k}} for each α_{i} let q_{i}(z) = q(z)/(z − α_{i})^{r_{i}} which is a polynomial nonzero at α_{i}. Thus for each i we have (z − α_{i})^{r_{i}}f(z) = p(z)/q′(z) is holomorphic at α_{i} and hence f(z) is meromorphic on ℂ.

(3) Exercise 1.3.

(a) The product fg of two meromorphic functions on the upper half plane is itself meromorphic. Also, for all γ ∈ SL_{2}(ℤ) we have

(fg)^{[γ]_{k+j}} = \frac{1}{(cz + d)^{k+j}} ((fg) ∘ γ)

= \frac{1}{(cz + d)^{k}} (f ∘ γ)\frac{1}{(cz + d)^{j}} (g ∘ γ) = fg,

so fg is weakly modular.

(b) If f is meromorphic on the upper half plane, then so is 1/f. Now

\frac{1}{f} = \frac{1}{(cz + d)^{−k}f ∘ γ} = (cz + d)^{k}((1/f) ∘ γ) = \frac{1}{f}^{[γ]_{−k}},

so 1/f is a weakly modular form of weight −k.

(c) Let f and g be modular functions. Then, as above, fg is a weakly modular function. Let ∑_{n=m}^{∞} a_{n}q^{n} and ∑_{n=m′}^{∞} b_{n}q^{n} be their q-expansions around any α ∈ ℙ^{1}(ℚ); then their formal product is the q-expansion of fg. But the formal product of two Laurant series about the same point is itself a Laurant series with convergence in the intersection of the convergent domains of the original series, so fg has a meromorphic qexpansion at each α ∈ ℙ^{1}(ℚ), and hence at each cusp.

(d) We are in exactly the same case as in part (c), but because f and g are modular functions, m, m′ ≥ 0 and hence the function is holomorphic at each of its cusps.

(4) Exercise 1.4. Let f be a weakly modular function of odd weight k. Since γ = ( \begin{matrix}−1 & 0 \\ 0 & −1 \end{matrix} ) ∈ SL_{2}(ℤ) we have f(z) = (−1)^{−k}f(γ(z)) = −f(z) so f = 0.

(5) Exercise 1.5. Because SL_{2}(ℤ/1ℤ) is the trivial group, Γ(1) = ker(SL_{2}(ℤ) → SL_{2}(ℤ/1ℤ)) must be all of SL_{2}(ℤ). As SL_{2}(ℤ) = Γ(1) ⊂ Γ_{1}(1) ⊂ Γ_{0}(1) ⊂ SL_{2}(ℤ) we must have Γ(1) = Γ_{1}(1) = Γ_{0}(1) = SL_{2}(ℤ).

(6) Exercise 1.6.

(a) The group Γ_{1}(N) is the inverse image of the subgroup of SL_{2}(ℤ/Nℤ) generated by ( \begin{matrix}1 & 1 \\ 0 & 1 \end{matrix} ), and the inverse image of a group (under a group homomorphism) is a group.

(b) The group contains the kernel of the homomorphism SL_{2}(ℤ) → SL_{2}(ℤ/Nℤ), and that kernel has finite index since the quotient is contained in SL_{2}(ℤ/Nℤ), which is finite.

(c) Same argument as previous part.

(d) The level is at most N since both groups contain Γ(N). It can

be no larger than N since ( \begin{matrix}1 & N \\ 0 & 1 \end{matrix} ) is in both groups.

(7) Exercise 1.7. See [DS05, Lemma 1.2.2].

(8) Exercise 1.8. Let α = p/q ∈ ℚ, where p and q are relatively prime. By the Euclidian algorithm, we can find x, y ∈ ℤ such that px+qy = 1. Let γ_{α} = ( \begin{matrix}p & −y \\ q & x \end{matrix} ). Note that γ_{α} ∈ SL_{2}(ℤ) and γ_{α}(∞) = α. Also let γ_{∞} be the identity map on ℙ^{1}(ℚ). Now γ_{β}^{−1} sends β to ∞ so we have γ_{α} ∘ γ_{β}^{−1} which sends α to β.

11.2. Chapter 2

(1) Exercise 2.1. We have

ζ(26) = \frac{1315862 · π^{26}}{11094481976030578125}.

Variation: Compute ζ(28).

(2) Exercise 2.3.

E_{8} = −\frac{B_{8}}{16} + q + ∑_{n=2}^{∞} σ_{7}(n)q^{n}

= \frac{1}{480} + q + 129q^{2} + 2188q^{3} + ⋯

Variation: Compute E_{10}.

(3) Exercise 2.5. We have d = dim S_{28} = 2. A choice of a, b with 4a + 6b ≤ 14 and 4a + 6b ≡ 4 (mod 12) is a = 1, b = 0. A basis for S_{28} is then

g_{1} = ΔF_{6}^{2(2−1)+0}F_{4} = q − 792q^{2} − 324q^{3} + 67590208q^{4} + ⋯
g_{2} = Δ^{2}F_{6}^{2(2−2)+0}F_{4} = q^{2} + 192q^{3} − 8280q^{4} + ⋯

The Victor Miller basis is then

f_{1} = g_{1} + 729g_{2} = q + 151740q^{3} + 61032448q^{4} + ⋯
f_{2} = g_{2} = q^{2} + 192q^{3} − 8280q^{4} + ⋯

Variation: Compute the Victor Miller basis for S_{30}.

(4) Exercise 2.6. From the previous exercise we have f = Δ^{2}F_{4}. Then

f = Δ^{2}F_{4} = (\frac{F_{4}^{3} − F_{6}^{2}}{−1728} )^{2} · F_{4}

= (\frac{(−\frac{8}{B_{4}} E_{4})^{3} − (−\frac{12}{B_{6}} E_{6})^{2}}{−1728} )^{2} · (−\frac{8}{B_{4}} E_{4})

= 5186160E_{4}E_{6}^{4} − 564480000E_{4}^{4}E_{6}^{2} + 15360000000E_{4}^{7}.

(5) Exercise 2.7. No it is not always integral. For example, for k = 12, the coefficient of q is −2 · 12/B_{12} = 65520/691 ∉ ℤ. Variation: Find, with proof, the set of all k such that the normalized series F_{k} is integral (use that B_{k} is eventually very large compared to 2k).

(6) Exercise 2.8. We compute the Victor-Miller basis to precision large enough to determine T_{2}. This means we need up to O(q^{5}).

f_{0} = 1 + 2611200q^{3} + 19524758400q^{4} + ⋯,
f_{1} = q + 50220q^{3} + 87866368q^{4} + ⋯,
f_{2} = q^{2} + 432q^{3} + 39960q^{4} + ⋯

Then the matrix of T_{2} on this basis is

( \begin{matrix}2147483649 & 0 & 19524758400 \\ 0 & 0 & 2235350016 \\ 0 & 1 & 39960 \end{matrix} ) .

(The rows of this matrix are the linear combinations that give the images of the f_{i} under T_{2}.) This matrix has characteristic polynomial

(x − 2147483649) · (x^{2} − 39960x − 2235350016).

11.3. Chapter 3

(1) Exercise 3.1. Write g = ( \begin{matrix}a & b \\ c & d \end{matrix} ), so λ′ = \frac{aλ+b}{cλ+d}. Let f be the isomorphism ℂ/Λ → ℂ/Λ′ given by f(z) = z/(cλ + d). We have

f (\frac{1}{N} ) = \frac{1}{N(cλ + d)} = \frac{a}{N} − \frac{c}{N} · \frac{aλ + b}{cλ + d} ≅ \frac{a}{N} (mod ℤ + ℤλ′),

where the second equality can be verified easily by expanding out each side, and for the congruence we use that N | c. Thus the subgroup of ℂ/Λ generated by \frac{1}{N} is taken isomorphically to the subgroup of ℂ/Λ′ generated by \frac{1}{N}.

(2) Exercise 3.2. For any integer r, we have ( \begin{matrix}1 & r \\ 0 & 1 \end{matrix} ) ∈ Γ_{0}(N), so \{0, ∞\} = {r, ∞}. Thus

0 = {0, ∞} − {0, ∞} = {n, ∞} − {m, ∞} = {n, ∞} + {∞, m} = {n, m}.

(3) Exercise 3.3.

(a) (0 : 1), (1 : 0), (1 : 1), …, (1, p − 1).

(b) p + 1

(c) See [Cre97a, Prop. 2.2.1].

(d) Exercise 3.4. We start with b = 4, a = 7. Then 4 · 2 ≡ 1 (mod 7). Let δ_{1} = ( \begin{matrix}4 & 1 \\ 7 & 2 \end{matrix} ) ∈ SL_{2}(ℤ). Since δ_{1} ∈ Γ_{0}(7) we use the right coset representative ( \begin{matrix}1 & 0 \\ 0 & 1 \end{matrix} ) and see that

\{0, 4/7\} = \{0, 1/2\} + ( \begin{matrix}1 & 0 \\ 0 & 1 \end{matrix} ) \{0, ∞\}

Repeating the process we have δ_{2} = ( \begin{matrix}1 & 1 \\ 2 & 0 \end{matrix} ), which is in the same coset at ( \begin{matrix}0 & −1 \\ 1 & 0 \end{matrix} ). Thus

\{0, 1/2\} = ( \begin{matrix}0 & 6 \\ 1 & 0 \end{matrix} ) \{0, ∞\} + \{0, 0\}.

Putting it together gives

\{0, 4/7\} = ( \begin{matrix}1 & 0 \\ 0 & 1 \end{matrix} ) \{0, ∞\} + ( \begin{matrix}0 & 6 \\ 1 & 0 \end{matrix} ) \{0, ∞\} = [(0, 1)] + [(1, 0)].

(4) Exercise 3.5.

(a) Coset representatives for Γ_{0}(3) in SL_{2}(ℤ) are

(\begin{matrix}1 & 0 \\ 0 & 1 \end{matrix}) , (\begin{matrix}1 & 0 \\ 1 & 1 \end{matrix}) , (\begin{matrix}1 & 0 \\ 2 & 1 \end{matrix}) , (\begin{matrix}0 & −1 \\ 1 & 0 \end{matrix}) ,

which we refer to below as [r_{0}], [r_{1}], [r_{2}], and [r_{3}], respectively.

(b) In terms of representatives we have

\begin{matrix}[r_{0}] + [r_{3}] = 0 & [r_{0}] + [r_{3}] + [r_{2}] = 0 \\ [r_{1}] + [r_{2}] = 0 & [r_{1}] + [r_{1}] + [r_{1}] = 0 \\ [r_{2}] + [r_{1}] = 0 & [r_{2}] + [r_{0}] + [r_{3}] = 0 \\ [r_{3}] + [r_{0}] = 0 & [r_{3}] + [r_{2}] + [r_{0}] = 0 \end{matrix}

(c) By the first three relations we have [r_{2}] = [r_{1}] = 0 = 0[r_{0}] and [r_{3}] = −1[r_{0}].

(d)

T_{2}([r_{0}]) = [r_{0}] ( \begin{matrix}1 & 0 \\ 0 & 2 \end{matrix} ) + [r_{0}] ( \begin{matrix}2 & 0 \\ 0 & 1 \end{matrix} ) + [r_{0}] ( \begin{matrix}2 & 1 \\ 0 & 1 \end{matrix} ) + [r_{0}] ( \begin{matrix}1 & 0 \\ 1 & 2 \end{matrix} )

= [( \begin{matrix}1 & 0 \\ 0 & 2 \end{matrix} )] + [( \begin{matrix}2 & 0 \\ 0 & 1 \end{matrix} )] + [( \begin{matrix}2 & 1 \\ 0 & 1 \end{matrix} )] + [( \begin{matrix}1 & 0 \\ 1 & 2 \end{matrix} )]

= [r_{0}] + [r_{0}] + [r_{0}] + [r_{2}]

= 3[r_{0}].

11.4. Chapter 4

(1) Exercise 4.1. Suppose f is a Dirichlet character with modulus N. Then −1 = f(−1) = f(−1 + N) = 1, a contradiction.

(2) Exercise 4.2.

(a) Any finite subgroup of the multiplicative group of a field is cyclic (since the number of roots of a polynomial over a field is at most its degree), so (ℤ/pℤ)^{∗} is cyclic. Let g be an integer that reduces to a generator of (ℤ/pℤ)^{∗}. Let x = 1 + p ∈ (ℤ/p^{n}ℤ)^{∗}; by the binomial theorem

x^{p^{n−2}} = 1 + p^{n−2} · p + ⋯ ≡ 1 + p^{n−1} ≢ 0 (mod p^{n}),

so x has order p^{n−1}. Since p is odd, gcd(p^{n−1}, p − 1) = 1, so xg has order p^{n−1} · (p − 1) = φ(p^{n}), hence (ℤ/p^{n}ℤ)^{∗} is cyclic.

(b) By the binomial theorem (1 + 2^{2})^{2^{n−3}} ≢ 1 (mod 2^{n}), so 5 has order 2^{n−2} in (ℤ/2^{n}ℤ)^{∗}, and clearly −1 has order 2. Since 5 ≡ 1 (mod 4), −1 is not a power of 5 in (ℤ/2^{n}ℤ)^{∗}. Thus the subgroups ⟨−1⟩ and ⟨5⟩ have trivial intersection. The product of their orders is 2^{n−1} = φ(2^{n}) = #(ℤ/2^{n}ℤ)^{∗}, so the claim follows.

(3) Exercise 4.3. Write n = ∏ p_{i}^{e_{i}}. The order of g divides n, so the condition implies that p_{i}^{e_{i}} divides the order of g for each i. Thus the order of g is divisible by the least common multiple of the p_{i}^{e_{i}}, i.e., by n.

(4) Exercise 4.4.

(a) The bijection given by 1 + p^{n−1}a (mod p^{n}) ↦ a (mod p), is a homomorphism since

(1 + p^{n−1}a)(1 + p^{n−1}b) ≡ 1 + p^{n−1}(a + b) (mod p^{n}).

(b) We have an exact sequence

1 → 1 + pℤ/p^{n}ℤ → (ℤ/p^{n}ℤ)^{∗} → (ℤ/pℤ)^{∗} → 1,

so it suffices to solve the discrete log problem in the kernel and cokernel. We prove by induction on n that we can solve discrete log in the kernel easily (compared to known methods for solving the discrete log problem in (ℤ/pℤ)^{∗}). We have an exact sequence

1 → 1 + p^{n−1}ℤ/p^{n}ℤ → (ℤ/p^{n}ℤ)^{∗} → (ℤ/p^{n−1}ℤ)^{∗} → 1.

The first part of this problem shows that we can solve the discrete log problem in the kernel, and by induction we can solve it in the cokernel. This completes the proof.

(5) Exercise 4.5. If ε(5) = 1 then since ε is nontrivial, Exercise 4.2 implies that ε factors through (ℤ/4ℤ)^{∗} hence has conductor 4 = 2^{1+1}, as claimed. If ε(5) ≠ 1 then again from Exercise 4.2 we see that if ε has order r then ε factors through (ℤ/2^{r+2}ℤ)^{∗} but nothing smaller.

(6) Exercise 4.6.

(a) Take f = x^{2} + 2.

(b) The element 2 has order 4.

(c) A minimal generator for (ℤ/25ℤ)^{∗} is 2, and the characters are [1], [2], [3], [4].

(d) Each of the 4 Galois orbits has size 1.

11.5. Chapter 5

(1) Exercise 5.1. The eigenspace E_{λ} of A with eigenvalue λ is preserved by B, since if v ∈ E_{λ} then

ABv = BAv = B(λv) = λBv.

Because B is diagonalizable, its minimal polynomial equals its characteristic polynomial; hence the same is true for the restriction of B to E_{λ}, i.e., the restriction of B is diagonalizable. Choose basis for all E_{λ} so that the restrictions of B to these eigenspaces is diagonal with respect to these basis. Then the concatentation of these basis is a basis that simultaneously diagonalizes A and B.

(2) Exercise 5.2. When ε is the trivial character, the B_{k,ε} are defined by

∑_{a=1}^{1} \frac{ε(a)xe^{ax}}{e^{x} − 1} = \frac{xe^{x}}{e^{x} − 1} = x + \frac{x}{e^{x} − 1} = ∑_{k=0}^{∞} B_{k,ε} \frac{x^{k}}{k!} .

Thus B_{1,ε} = 1 + B_{1} = \frac{1}{2}, and for k > 1, we have B_{k,ε} = B_{k}.

(3) Exercise 5.3. (omitted)

(4) Exercise 5.4. The Eisenstein series in our basis for E_{3}(Γ_{1}(13)) are of the form E_{3,1,ε} or E_{3,ε,1} with ε(−1) = (−1)^{3} = −1. There are 6 characters ε with modulus 13 such that ε(−1) = −1, and we have the two series E_{3,1,ε} and E_{3,ε,1} associated to each of these. This gives a dimension of 12.

11.6. Chapter 6

(1) Exercise 6.1.

(a) By Proposition 3.10, we have [SL_{2}(ℤ) : Γ_{0}(N)] = #ℙ^{1}(ℤ/Nℤ). By the Chinese remainder theorem,

#ℙ^{1}(ℤ/Nℤ) = ∏_{p|N} #ℙ^{1}(ℤ/p^{ord_{p}(N)}ℤ).

So we are reduced to computing #ℙ^{1}(ℤ/p^{ord_{p}(N)}ℤ). We have (a, b) ∈ (ℤ/p^{n}ℤ)^{2} with gcd(a, b, p) = 1 if and only if (a, b) ∉ (pℤ/p^{n}ℤ)^{2}, so there are p^{2n} − p^{2(n−1)} such pairs. The unit group (ℤ/p^{n}ℤ)^{∗} has order φ(p^{n}) = p^{n} − p^{n−1}, it follows that

#ℙ^{1}(ℤ/Nℤ) = \frac{p^{2n} − p^{2(n−1)}}{p^{n} − p^{n−1}} = p^{n} + p^{n−1}.

(2) Exercise 6.2. (omitted)

(3) Exercise 6.3. (omitted)

(4) Exercise 6.4. (omitted)

(5) Exercise 6.5. See the source code to SAGE.

11.7. Chapter 7

(1) Exercise 7.1. Take a basis of W and let G be the matrix whose rows are these basis elements. Let B be the row echelon form of G. After a permutation p of columns, we may write B = p_{i}(I|C), where I is the identity matrix. The matrix A = p^{−1}(−C^{t}|I), where I is a different sized identity matrix, has the property that W = Ker(A).

(2) Exercise 7.2. The answer is no. For example if A = nI is n times the identity matrix, and p | n, then rref(A (mod p)) = 0 but rref(A) (mod p) = I.

(3) Exercise 7.3. Let T = ∏ E_{i} be an invertible matrix such that T A = E is in (reduced) echelon form, and the E_{i} are elementary matrices, i.e., the result of applying an elementary row operation to the identity matrix. If p is a prime that does not divide any of the nonzero numerators or denominators of the entries of A and any E_{i}, then rref(A (mod p)) = rref(A) (mod p). This is because E (mod p) is in echelon form, and A (mod p) can be transformed to E (mod p) via a series of elementary row operations modulo p.

(4) Exercise 7.4.

(a) The echelon form (over ℚ) is

( \begin{matrix}1 & 0 & −1 \\ 0 & 1 & 2 \\ 0 & 0 & 0 \end{matrix} ) .

(b) The kernel is the 1-dimensional span of (1, −2, 1).

(c) The characteristic polynomial is x · (x^{2} − 15x − 18).

(5) Exercise 7.5.

(a) The answer is given in the problem.

(b) See [Coh93, §2.4].

11.8. Chapter 8

(1) Exercise 8.1. Using the Chinese remainder theorem we immediately reduce to proving the statement when both M = p^{r} and N = p^{s} are powers of a prime p. Then [a] ∈ (ℤ/p^{s}ℤ)^{∗} is represented by an integer a with gcd(a, p) = 1. That same integer a defines an element of (ℤ/p^{r}ℤ)^{∗} that reduces modulo p^{s} to [a].

(2) Exercise 8.2. See [Shi94, 1.38].

(3) Exercise 8.3. Coset representitives for Γ_{1}(3) are in bijection with (c, d) where c, d ∈ ℤ/3ℤ and gcd(c, d, N) = 1, so the following are representatives:

( \begin{matrix}1 & 0 \\ 0 & 1 \end{matrix} ) , ( \begin{matrix}2 & 0 \\ 0 & 2 \end{matrix} ) , ( \begin{matrix}0 & 2 \\ 1 & 0 \end{matrix} ) , ( \begin{matrix}1 & 0 \\ 1 & 1 \end{matrix} ) , ( \begin{matrix}2 & 0 \\ 1 & 2 \end{matrix} ) , ( \begin{matrix}1 & 1 \\ 2 & 0 \end{matrix} ) , ( \begin{matrix}1 & 0 \\ 2 & 1 \end{matrix} ) , ( \begin{matrix}2 & 0 \\ 2 & 2 \end{matrix} ) ,

which we call r_{1}, …, r_{8}, respectively. Now our Manin symbols are of the form [X, r_{i}] and [Y, r_{i}] for 1 ≤ i ≤ 8 modulo the relations

x + xσ = 0, x + xτ + xτ^{2} = 0, and x − xJ = 0.

First, note that J acts trivially on Manin symbols of odd weight because it sends X to −X, Y to −Y and r_{i} to −r_{i}, so [z, g]J = [−z, −g] = [z, g]. Thus the last relation is trivially true.

Now σ^{−1}X = −Y and σ^{−1}Y = X. Also τ^{−1}X = −Y, τ^{−1}Y = X − Y, τ^{−2}X = −X + Y and τ^{−2}Y = −X.

The first relation on the first symbol says that

[X, r_{1}] = −[−Y, r_{3}] = [Y, r_{3}]

and the second relation tells us that

[X, r_{1}] + [−Y, r_{5}] + [−X + Y, r_{6}] = 0.

(4) Exercise 8.4. Let f ∈ S_{k}(Γ) and g ∈ Γ. All that remains to be shown is that this pairing respects the relation x = xg for all modular symbols x. By linearity it suffices to show invariance of ⟨f, X^{k−i−2}Y^{i}{α, β}⟩. We have

⟨f, (X^{k−2−i}Y^{i}{α, β})g^{−1}⟩

= ⟨f, (aX + bY)^{k−i−2}(cX + dY)^{i}{g^{−1}(α), g^{−1}(β)}⟩

= ∫_{g^{−1}(α)}^{g^{−1}(β)} f(z)(az + b)^{k−i−2}(cz + d)^{i} dz

= ∫_{g^{−1}(α)}^{g^{−1}(β)} f(z)\frac{(az + b)^{k−i−2}}{(cz + d)^{k−i−2}} (cz + d)^{k−2} dz

= ∫_{g^{−1}(α)}^{g^{−1}(β)} f(z) g(z)^{k−i−2}(cz + d)^{k−2} dz

= ∫_{α}^{β} f(g^{−1}(z)) g(g^{−1}(z))^{k−i−2}(cg^{−1}(z) + d)^{k−2} d(g^{−1}(z))

= ∫_{α}^{β} f(g^{−1}(z)) z^{k−i−2}(cg^{−1}(z) + d)^{k−2} (cg^{−1}(z) + d)^{2} dz

= ∫_{α}^{β} f(z) z^{k−i−2} dz

= ⟨f, X^{k−i−2}Y^{i}{α, β}⟩ ,

where the second to last simplification is due to invariance under [g]_{k}, i.e.

f(g^{−1}(z)) = f^{[g]_{k}}(g^{−1}(z)) = (cg^{−1}(z) + d)^{−k}f(g(g^{−1}(z))).

(The proof for f ∈ \overline{S}_{k}(Γ) works in exactly the same way.)

(5) Exercise 8.5. (a) Let η = ( \begin{matrix}−1 & 0 \\ 0 & 1 \end{matrix} ). For any γ = ( \begin{matrix}a & b \\ c & d \end{matrix} ) we have

γη = ( \begin{matrix}−a & b \\ −c & d \end{matrix} ), ηγ = ( \begin{matrix}−a & −b \\ c & d \end{matrix} ), and ηγη = ( \begin{matrix}a & −b \\ −c & d \end{matrix} ).

First, if γ ∈ SL_{2}(ℤ) then ηγη ∈ GL_{2}(ℤ) and

det(ηγη) = det η det γ det η = (−1)(1)(−1) = 1

so ηγη ∈ SL_{2}(ℤ). As η^{2} = 1, conjugation by η is self-inverse, so it must be a bijection. Now if γ ∈ Γ_{0}(N) then c ≡ 0 (mod N), so −c ≡ 0 (mod N), and so ηγη ∈ Γ_{0}(N). Thus ηΓ_{0}(N)η = Γ_{0}(N). If γ ∈ Γ_{1}(N) then −c ≡ 0 (mod N) as before and also a ≡ d ≡ 1 (mod N), so ηγη ∈ Γ_{1}(N). Thus ηΓ_{1}(N)η = Γ_{1}(N).

(b) (omitted)

11.9. Chapter 9

(1) Exercise 9.1. Consider the surjective homomorphism

r : SL_{2}(ℤ) → SL_{2}(ℤ/Nℤ).

Notice that Γ_{1}(N) is the exact inverse image of the subgroup H of matrices of the form ( \begin{matrix}1 & ∗ \\ 0 & 1 \end{matrix} ) and Γ_{0}(N) is the inverse image of the subroup T of upper triangular matrices. It thus suffices to observe that H is normal in T, which is clear. Finally, the quotient T/H is isomorphic to the group of diagonal matrices in SL_{2}(ℤ/Nℤ)^{∗}, which is isomorphic to (ℤ/Nℤ)^{∗}.

(2) Exercise 9.2. It is enough to show ⟨p⟩ ∈ ℤ[…, T_{n}, …] for primes p, since each ⟨d⟩ can be written in terms of the ⟨p⟩. Since p ∤ N, we have that

T_{p^{2}} = T_{p}^{2} − ⟨p⟩p^{k−1},

so

⟨p⟩p^{k−1} = T_{p}^{2} − T_{p^{2}}.

By Dirichlet’s theorem on primes in arithmetic progression, there is a prime q ≠ p congruent to p mod N. Since p^{k−1} and q^{k−1} are relatively prime, there exist integers a and b such that ap^{k−1} + bq^{k−1} = 1. Then

⟨p⟩ = ⟨p⟩(ap^{k−1} + bq^{k−1}) = a(T_{p}^{2} − T_{p^{2}}) + b(T_{q}^{2} − T_{q^{2}}) ∈ ℤ[…, T_{n}, …].

(3) Exercise 9.3. Take N = 33. The space S_{2}(Γ_{0}(33)) is a direct sum of the two old subspaces coming from S_{2}(Γ_{0}(11)) and the new subspace, which has dimension 1. If f is a basis for S_{2}(Γ_{0}(11)), and g is a basis for S_{2}(Γ_{0}(33))_{new}, then α_{1}(f), α_{3}(f), g is a basis for S_{2}(Γ_{0}(33)) on which all Hecke operators T_{n}, with gcd(n, 33) = 1, have diagonal matrix. However, the operator T_{3} on S_{2}(Γ_{0}(33)) does not act as a scalar on α_{1}(f), so it can’t be in the ring generated by all operators T_{n} with gcd(n, 33) = 1.

11.10. Chapter 10

(1) Exercise 10.1. Hint: Use either repeated integration by parts or a change of variables that relates the integral to the Γ function.

(2) Exercise 10.3.

(a) Let f = \sqrt{−1} ∑ q^{n}. Then d = 2, but the nontrivial conjugate of f is −f, so V_{f} has dimension 1.

(b) Choose α ∈ K such that K = ℚ(α). Write

(11.10.1)  f = ∑_{i=0}^{d−1} α^{i}g_{i}

with g_{i} ∈ ℚ[[q]]. Let W_{g} be the ℚ-span of the g_{i}, and let W_{f} = V_{f} ∩ ℚ[[q]]. By considering the Gal(\overline{ℚ}/ℚ) conjugates of (11.10.1), we see that the Galois conjugates of f are in the ℂ-span of the g_{i}, so

(11.10.2)  d = dim_{ℂ} V_{f} ≤ dim_{ℚ} W_{g}.

Likewise, taking the above modulo O(q^{n}) for any n, we obtain a matrix equation

F = AG,

where the the columns of F are the Gal(\overline{ℚ}/ℚ)-conjugates of f, the matrix A is the Vandermonde matrix corresponding to α (and its Gal(\overline{ℚ}/ℚ) conjugates), and G has columns g_{i}. Since A is a Vandermonde matrix, it is invertible, so A^{−1}F = G. Taking the limit as n goes to infinity, we see that each g_{i} is a linear combination of the f_{i}, hence an element of V_{f}. Thus W_{g} ⊂ W_{f}, so (11.10.2) implies that dim_{ℚ} W_{f} ≥ d. But W_{f} ⊗_{ℚ} ℂ ⊂ V_{f} so finally

d ≤ dim_{ℚ} W_{f} = dim_{ℂ}(W_{f} ⊗_{ℚ} ℂ) ≤ dim_{ℂ} V_{f} = d.

(3) Exercise 10.2. See [Cre97a, §2.8].

(4) Exercise 10.4. See the appendix to chapter II in [Cre97a], where this example is worked out in complete detail.

Appendix A

Computing in Higher Rank

by Paul E. Gunnells

A.1. Introduction

This book has addressed the theoretical and practical problems of performing computations with modular forms. Modular forms are the simplest examples of the general theory of automorphic forms attached to a reductive algebraic group G with an arithmetic subgroup Γ; they are the case G = SL_{2}(ℝ) with Γ a congruence subgroup of SL_{2}(ℤ). For such pairs (G, Γ) the Langlands philosophy asserts that there should be deep connections between automorphic forms and arithmetic, connections that are revealed through the action of the Hecke operators on spaces of automorphic forms. There have been many profound advances in recent years in our understanding of these phenomena, for example:

• the establishment of the modularity of elliptic curves defined over ℚ [Wil95, TW95, Dia96, CDT99, BCDT01],

• The proof by Harris–Taylor of the local Langlands correspondence [HT01], and

• Lafforgue’s proof of the global Langlands correspondence for function fields [Laf02].

Nevertheless, we are still far from seeing that the links between automorphic forms and arithmetic hold in the broad scope in which they are generally believed. Hence one has the natural problem of studying spaces of automorphic forms computationally.

The goal of this appendix is to describe some computational techniques for automorphic forms. We focus on the case G = SL_{n}(ℝ) and Γ ⊂ SL_{n}(ℤ), since the automorphic forms that arise are one natural generalization of modular forms, and since this is the setting for which we have the most tools available. In fact, we don’t work directly with automorphic forms, but rather with the cohomology of the arithmetic group Γ with certain coefficient modules. This is the most natural generalization of the tools developed in previous chapters.

Here is a brief overview of the contents. Section A.2 gives background on automorphic forms and the cohomology of arithmetic groups, and explains why the two are related. In section A.3 we describe the basic topological tools used to compute the cohomology of Γ explicitly. Section A.4 defines the Hecke operators, describes the generalization of the modular symbols from Chapter 8 to higher rank, and explains how to compute the action of the Hecke operators on the top degree cohomology group. Section A.5 discusses computation of the Hecke action on cohomology groups below the top degree. Finally, Section A.6 briefly discusses some related material, and presents some open problems.

A.1.1. The theory of automorphic forms is notorious for the difficulty of its prerequisites. Even if one is only interested in the cohomology of arithmetic groups—a small part of the full theory—one needs considerable background in algebraic groups, algebraic topology, and representation theory. This is somewhat reflected in our presentation, which falls far short of being selfcontained. Indeed, a complete account would require a long book of its own. We have chosen to sketch the foundational material and to provide many pointers to the literature; good general references are [BW00, Harb, LS90, Vog97]. We hope that the energetic reader will follow the references and fill many gaps on his/her own.

The choice of topics presented here is heavily influenced (as usual) by the author’s interests and expertise. There are many computational topics in the cohomology of arithmetic groups we have completely omitted, including the trace formula in its many incarnations [GP05], the explicit Jacquet– Langlands correspondence [Dem04, SW05], and moduli space techniques [FvdG, vdG]. We encourage the reader to investigate these extremely interesting and useful techniques.

A.1.2. Acknowledgements. I thank Avner Ash, John Cremona, Mark McConnell, and Dan Yasaki for helpful comments. I also thank the NSF for support.

A.2. Automorphic Forms and Arithmetic Groups

A.2.1. Let Γ = Γ_{0}(N) ⊂ SL_{2}(ℤ) be the usual Hecke congruence subgroup of matrices upper-triangular mod N. Let Y_{0}(N) be the modular curve Γ\𝔥, and let X_{0}(N) be its canonical compactification obtained by adjoining cusps. For any integer k ≥ 2, let S_{k}(N) be the space of weight k holomorphic cuspidal modular forms on Γ. According to Eichler–Shimura [Shi94, Chapter 8], we have the isomorphism

(A.2.1)  H^{1}(X_{0}(N); ℂ) ⟶^{∼} S_{2}(N) ⊕ \overline{S_{2}(N)},

where the bar denotes complex conjugation, and where the isomorphism is one of Hecke modules.

More generally, for any integer n ≥ 0, let M_{n} ⊂ ℂ[x, y] be the subspace of degree n homogeneous polynomials. The space M_{n} admits a representation of Γ by the “change of variables” map

(A.2.2)  ( \begin{matrix}a & b \\ c & d \end{matrix} ) · p(x, y) = p(dx − by, −cx + ay).

This induces a local system M̃_{n} on the curve X_{0}(N).(^{1}) Then the analogue of (A.2.1) for higher weight modular forms is the isomorphism

(A.2.3)  H^{1}(X_{0}(N); M̃_{k−2}) ⟶^{∼} S_{k}(N) ⊕ \overline{S_{k}(N)}.

Note that (A.2.3) reduces to (A.2.1) when k = 2.

Similar considerations apply if we work with the open curve Y_{0}(N) instead, except that Eisenstein series also contribute to the cohomology. More precisely, let E_{k}(N) be the space of weight k Eisenstein series on Γ_{0}(N). Then (A.2.3) becomes

(A.2.4)  H^{1}(Y_{0}(N); M̃_{k−2}) ⟶^{∼} S_{k}(N) ⊕ \overline{S_{k}(N)} ⊕ E_{k}(N).

These isomorphisms lie at the heart of the modular symbol method.

A.2.2. The first step on the path to general automorphic forms is a reinterpretation of modular forms in terms of functions on SL_{2}(ℝ). Let Γ ⊂ SL_{2}(ℤ) be a congruence subgroup. A weight k modular form on Γ is a holomorphic function f: 𝔥 → ℂ satisfying the transformation property

f((az + b)/(cz + d)) = j(γ, z)^{k}f(z), γ = ( \begin{matrix}a & b \\ c & d \end{matrix} ) ∈ Γ, z ∈ 𝔥.

Here j(γ, z) is the automorphy factor cz + d. There are some additional conditions f must satisfy at the cusps of 𝔥, but these are not so important for our discussion.

1The classic references for cohomology with local systems are [Ste99a, §31] and [Eil47, Ch.

V]. A more recent exposition (in the language of Čech cohomology and locally constant sheaves)

can be found in [BT82, II.13]. For an exposition tailored to our needs, see [Harb, §2.9].

The group G = SL_{2}(ℝ) acts transitively on 𝔥, with the subgroup K = SO(2) fixing i. Thus 𝔥 can be written as the quotient G/K. From this, we see that f can be viewed as a function G → ℂ that is K-invariant on the right and that satisfies a certain symmetry condition with respect to the Γ-action on the left. Of course not every f with these properties is a modular form: some extra data is needed to take the role of holomorphicity and to handle the behavior at the cusps. Again, this can be ignored right now.

We can turn this interpretation around as follows. Suppose φ is a function G → ℂ that is Γ-invariant on the left, that is φ(γg) = φ(g) for all γ ∈ Γ. Hence φ can be thought of as a function φ: Γ\G → ℂ. We further suppose that φ satisfies a certain symmetry condition with respect to the K-action on the right. In particular, any matrix m ∈ K can be written

(A.2.5)  m = ( \begin{matrix}cos θ & − sin θ \\ sin θ & cos θ \end{matrix} ) , θ ∈ ℝ,

with θ uniquely determined modulo 2π. Let ζ_{m} be the complex number e^{iθ}. Then the K-symmetry we require is

φ(gm) = ζ_{m}^{−k}φ(z), m ∈ K,

where k is some fixed nonnegative integer.

It turns out that such functions φ are very closely related to modular forms: any f ∈ S_{k}(Γ) uniquely determines such a function φ_{f}: Γ\G → ℂ. The correspondence is very simple. Given a weight k modular form f, define

(A.2.6)  φ_{f}(g) := f(g · i)j(g, i)^{−k}.

We claim φ_{f} is left Γ-invariant and satisfies the desired K-symmetry on the right. Indeed, since j satisfies the cocycle property j(gh, z) = j(g, h · z)j(h, z), we have

φ_{f}(γg) = f((γg)·i)j(γg, i)^{−k} = j(γ, g·i)^{k}f(g·i)j(γ, g·i)^{−k}j(g, i)^{−k} = φ_{f}(g).

Moreover, any m ∈ K stabilizes i. Hence

φ_{f}(gm) = f((gm) · i)j(gm, i)^{−k} = f(g · i)j(m, i)^{−k}j(g, m · i)^{−k}.

From (A.2.5) we have j(m, i)^{−k} = (cos θ + i sin θ)^{−k} = ζ_{m}^{−k}, and thus φ_{f}(gm) = ζ_{m}^{−k}φ_{f}(g).

Hence in (A.2.6) the weight and the automorphy factor “untwist” the Γ-action to make φ_{f} left Γ-invariant. The upshot is that we can study modular forms by studying the spaces of functions that arise through the construction (A.2.6).

Of course, not every φ: Γ\G → ℂ will arise as φ_{f} for some f ∈ S_{K}(Γ): after all, f is holomorphic and satisfies rather stringent growth conditions.

Pinning down all the requirements is somewhat technical, and is (mostly) done in the sequel.

A.2.3. Before we define automorphic forms, we need to find the correct generalizations of our groups SL_{2}(ℝ) and Γ_{0}(N). The correct setup is rather technical, but this really reflects the power of the general theory, which handles so many different situations (e.g., Maass forms, Hilbert modular forms, Siegel modular forms, …)

Let G be a connected Lie group, and let K ⊂ G be a maximal compact subgroup. We assume that G is the set of real points of a connected semisimple algebraic group G defined over ℚ. These conditions mean the following [PR94, §2.1.1]:

(1) The group G has the structure of an affine algebraic variety given by an ideal I in the ring R = ℂ[x_{ij}, D^{−1}], where the variables {x_{ij} | 1 ≤ i, j ≤ n} should be interpreted as the entries of an “indeterminate matrix,” and D is the polynomial det(x_{ij}). Both the group multiplication G × G → G and inversion G → G are required to be morphisms of algebraic varieties.

The ring R is the coordinate ring of the algebraic group GL_{n}. Hence this condition means that G can be essentially viewed as a subgroup of GL_{n}(ℂ) defined by polynomial equations in the matrix entries of the latter.

(2) Defined over ℚ means that I is generated by polynomials with rational coefficients.

(3) Connected means that G is connected as an algebraic variety.

(4) Set of real points means that G is the set of real solutions to the equations determined by I. We write G = G(ℝ).

(5) Semisimple means that the maximal connected solvable normal subgroup of G is trivial.

Example A.1. The most important example for our purposes is the split form of SL_{n}. For this choice we have

G = SL_{n}(ℝ) and K = SO(n).

Example A.2. Let F/ℚ be a number field. Then there is a ℚ-group G such that G(ℚ) = SL_{n}(F). The group G is constructed as R_{F/ℚ}(SL_{n}), where R_{F/ℚ} denotes the restriction of scalars from F to ℚ [PR94, §2.1.2]. For example, if F is totally real, the group R_{F/ℚ}(SL_{2}) appears when one studies Hilbert modular forms.

Let (r, s) the signature of the field F, so that F ⊗ ℝ ≃ ℝ^{r} × ℂ^{s}. Then G = SL_{n}(ℝ)^{r} × SL_{n}(ℂ)^{s} and K = SO(n)^{r} × SU(n)^{s}.

Example A.3. Another important example is the split symplectic group Sp_{2n}. This is the group that arises when one studies Siegel modular forms. The group of real points Sp_{2n}(ℝ) is the subgroup of SL_{2n}(ℝ) preserving a fixed non-degenerate alternating bilinear form on ℝ^{2n}. We have K = U(n).

A.2.4. To generalize Γ_{0}(N), we need the notion of an arithmetic group. This is a discrete subgroup Γ of the group of rational points G(ℚ) that is commensurable with the set of integral points G(ℤ). Here commensurable simply means that Γ ∩ G(ℤ) is a finite index subgroup of both Γ and G(ℤ); in particular G(ℤ) itself is an arithmetic group.

Example A.4. For the split form of SL_{n} we have G(ℤ) = SL_{n}(ℤ) ⊂ G(ℚ) = SL_{n}(ℚ). A trivial way to obtain other arithmetic groups is by conjugation: if g ∈ SL_{n}(ℚ), then g · SL_{n}(ℤ) · g^{−1} is also arithmetic.

A more interesting collection of examples is given by the congruence subgroups. The principal congruence subgroup Γ(N) is the group of matrices congruent to the identity modulo N for some fixed integer N ≥ 1. A congruence subgroup is a group containing Γ(N) for some N.

In higher dimensions there are many candidates to generalize the Hecke subgroup Γ_{0}(N). For example, one can take the subgroup of SL_{n}(ℤ) that is upper-triangular mod N. From a computational perspective, this choice is not so good since its index in SL_{n}(ℤ) is large. A better choice, and the one that usually appears in the literature, is to define Γ_{0}(N) to be the subgroup of SL_{n}(ℤ) with bottom row congruent to (0, …, 0, ∗) mod N.

A.2.5. We are almost ready to define automorphic forms. Let 𝔤 be the Lie algebra of G, and let U(𝔤) be its universal enveloping algebra over ℂ. Geometrically, 𝔤 is just the tangent space at the identity of the smooth manifold G. The algebra U(𝔤) is a certain complex associative algebra canonically built from 𝔤. The usual definition would us a bit far afield, so we will settle for an equivalent characterization: U(𝔤) can be realized as a certain subalgebra of the ring of differential operators on C^{∞}(G), the space of smooth functions on G.

In particular, G acts on C^{∞}(G) by left translations: given g ∈ G and f ∈ C^{∞}(G), we define

L_{g}(f)(x) := f(g^{−1}x).

Then U(𝔤) can be identified with the ring of all differential operators on C^{∞}(G) that are invariant under left translation. For our purposes the most important part of U(𝔤) is its center Z(𝔤). In terms of differential operators, Z(𝔤) consists of those operators that are also invariant under right translation:

R_{g}(f)(x) := f(xg).

Definition A.5. An automorphic form on G with respect to Γ is a function φ: G → ℂ satisfying

(1) φ(γg) = φ(g) for all γ ∈ Γ,

(2) the right translates {φ(gk) | k ∈ K} span a finite-dimensional space ξ of functions,

(3) there exists an ideal J ⊂ Z(𝔤) of finite codimension such that J annihilates φ, and

(4) φ satisfies a certain growth condition that we do not wish to make precise. (In the literature, φ is said to be slowly increasing).

For fixed ξ and J, we denote by 𝒜 (Γ, ξ, J, K) the space of all functions satisfying the above four conditions. It is a basic theorem, due to Harish-Chandra [HC68], that 𝒜 (Γ, ξ, J, K) is finite-dimensional.

Example A.6. We can identify the cuspidal modular forms S_{k}(N) in the language of Definition A.5. Given a modular form f, let φ_{f} ∈ C^{∞}(SL_{2}(ℝ)) be the function from (A.2.6). Then the map f ↦ φ_{f} identifies S_{k}(N) with the subspace 𝒜_{k}(N) of functions φ satisfying

(1) φ(γg) = φ(g) for all γ ∈ Γ_{0}(N),

(2) φ(gm) = ζ_{m}^{−k}φ(g) for all m ∈ SO(2),

(3) (Δ + λ_{k})φ = 0, where Δ ∈ Z(𝔤) is the Laplace–Beltrami–Casimir operator, and

λ_{k} = \frac{k}{2} (\frac{k}{2} − 1) ,

(4) φ is slowly increasing, and

(5) φ is cuspidal.

The first four conditions parallel Definition A.5. Item (1) is the Γinvariance. Item (2) implies that the right translates of φ by SO(2) lie in a fixed finite-dimensional representation of SO(2). Item (3) is how holomorphicity appears, namely that φ is killed by a certain differential operator. Finally, item (4) is the usual growth condition.

The only condition missing from the general definition is (5), which is an extra constraint placed on φ to ensure that it comes from a cusp form. This condition can be expressed by the vanishing of certain integrals (“constant terms”); for details we refer to [Bum97, Gel75].

Example A.7. Another important example appears when we set k = 0 in (2) in Example A.6, and relax (3) by requiring only that (Δ − λ)φ = 0 for some nonzero λ ∈ ℝ. Such automorphic forms cannot possibly arise from modular forms, since there are no nontrivial cusp forms of weight 0. However, there are plenty of solutions to these conditions: they correspond to real-analytic cuspidal modular forms of weight 0, and are known as Maass forms. Traditionally one writes λ = (1 − s^{2})/4. The positivity of Δ implies that s ∈ (−1, 1) or is purely imaginary.

Maass forms are highly elusive objects. Selberg proved that there are infinitely many linearly independent Maass forms of full level (i.e. on SL_{2}(ℤ)), but to this date no explicit construction of a single one is known. (Selberg’s argument is indirect and relies on the trace formula; for an exposition see [Sar03].) For higher levels some explicit examples can be constructed using theta series attached to indefinite quadratic forms [Vig77]. Numerically Maass forms have been well studied, see for example [FL].

In general the arithmetic nature of the eigenvalues λ that correspond to Maass forms is unknown, although a famous conjecture of Selberg states that for congruence subgroups they satisfy the inequality λ ≥ 1/4 (in other words, only purely imaginary s appear above). The truth of this conjecture would have far-reaching consequences, from analytic number theory to graph theory [Lub94].

A.2.6. As Example A.6 indicates, there is a notion of cuspidal automorphic form. The exact definition is too technical to state here, but it involves an appropriate generalization of the notion of constant term familiar from modular forms.

There are also Eisenstein series [Lan66, Art79]. Again the complete definition is technical; we only mention that there are different types of Eisenstein series corresponding to certain subgroups of G. The Eisenstein series that are easiest to understand are those built from cusp forms on lower rank groups. Very explicit formulas for Eisenstein series on GL_{3} can be seen in [Bum84]. For a down-to-earth exposition of some of the Eisenstein series on GL_{n}, we refer to [Gol05].

The decomposition of M_{k}(Γ_{0}(N)) into cusp forms and Eisenstein series also generalizes to a general group G, although the statement is much more complicated. The result is a theorem of Langlands [Lan76] known as the spectral decomposition of L^{2}(Γ\G). A thorough recent presentation of this can be found in [MW94].

A.2.7. Let 𝒜 = 𝒜 (Γ, K) be the space of all automorphic forms, where ξ and J range over all possibilities. The space 𝒜 is huge, and the arithmetic significance of much of it is unknown. This is already apparent for G = SL_{2}(ℝ). The automorphic forms directly connected with arithmetic are the holomorphic modular forms, not the Maass forms.(^{2}) Thus the question arises: which automorphic forms in 𝒜 are the most natural generalization of the modular forms?

2However, Maass forms play a very important indirect role in arithmetic.

One answer is provided by the isomorphisms (A.2.1), (A.2.3), (A.2.4). These show that modular forms appear naturally in the cohomology of modular curves. Hence a reasonable approach is to generalize the left of (A.2.1), (A.2.3), (A.2.4), and to study the resulting cohomology groups. This is the approach we will take. One drawback is that it’s not obvious that our generalization has anything to do with automorphic forms, but we will see eventually that it certainly does. So we begin by looking for an appropriate generalization of the modular curve Y_{0}(N).

Let G and K be as in §A.2.3, and let X be the quotient G/K. This is a global Riemannian symmetric space [Hel01]. One can prove that X is contractible. Any arithmetic group Γ ⊂ G acts on X properly discontinuously. In particular, if Γ is torsion-free, then the quotient Γ\X is a smooth manifold.

Unlike the modular curves, Γ\X will not have a complex structure in general;(^{3}) nevertheless, Γ\X is a very nice space. In particular, if Γ is torsion-free it is an Eilenberg–Mac Lane space for Γ, otherwise known as a K(Γ, 1). This means that the only nontrivial homotopy group of Γ\X is its fundamental group, which is isomorphic to Γ, and that the universal cover of Γ\X is contractible. Hence Γ\X is in some sense a “topological incarnation” of Γ.(^{4})

This leads us to the notion of the group cohomology H^{∗}(Γ; ℂ) of Γ with trivial complex coefficients. In the early days of algebraic topology, this was defined to be the complex cohomology of an Eilenberg–Mac Lane space for Γ [Bro94, Introduction, I.4]:

(A.2.7)  H^{∗}(Γ; ℂ) = H^{∗}(Γ\X; ℂ).

Today there are purely algebraic approaches to H^{∗}(Γ; ℂ) [Bro94, III.1], but for our purposes (A.2.7) is exactly what we need. In fact, the group cohomology H^{∗}(Γ; ℂ) can be identified with the cohomology of the quotient Γ\X even if Γ has torsion, since we are working with complex coefficients. The cohomology groups H^{∗}(Γ; ℂ), where Γ is an arithmetic group, are our proposed generalization for the weight two modular forms.

What about higher weights? For this we must replace the trivial coefficient module ℂ with local systems, just as we did in (A.2.3). For our purposes it is enough to let ℳ be a rational finite-dimensional representation of G over the complex numbers. Any such ℳ gives a representation of Γ ⊂ G, and thus induces a local system ℳ̃on Γ\X. As before, the group cohomology H^{∗}(Γ; ℳ) is the cohomology H^{∗}(Γ\X; ℳ̃). In (A.2.3) we took ℳ = M_{n}, the nth symmetric power of the standard representation. For a general group G there are many kinds of representations to consider. In any case, we contend that the cohomology spaces

3The symmetric spaces that have a complex structure are known as bounded domains, or Hermitian symmetric spaces [Hel01].

4This apt phrase is due to Vogan [Vog97].

H^{∗}(Γ; ℳ) = H^{∗}(Γ\X; ℳ̃)

are a good generalization of the spaces of modular forms.

A.2.8. It is certainly not obvious that the cohomology groups H^{∗}(Γ; ℳ) have anything to do with automorphic forms, although the isomorphisms (A.2.1), (A.2.3), (A.2.4) look promising.

The connection is provided by a deep theorem of Franke [Fra98], which asserts that

(1) the cohomology groups H^{∗}(Γ; ℳ) can be directly computed in terms of certain automorphic forms (the automorphic forms of “cohomological type,” also known as those with “nonvanishing (𝔤, K) cohomology” [VZ84]); and

(2) there is a direct sum decomposition

(A.2.8)  H^{∗}(Γ; ℳ) = H_{cusp}^{∗}(Γ; ℳ) ⊕ ⨁_{{P }} H_{{P }}^{∗}(Γ; ℳ),

where the sum is taken over the set of classes of associate proper ℚ-parabolic subgroups of G.

The precise version of statement (1) is known in the literature as the Borel conjecture. Statement (2) parallels Langlands’s spectral decomposition of L^{2}(Γ\G).

Example A.8. For Γ = Γ_{0}(N) ⊂ SL_{2}(ℤ), the decomposition (A.2.8) is exactly (A.2.4). The cuspforms S_{k}(N) ⊕ \overline{S_{k}(N)} correspond to the summand H_{cusp}^{1}(Γ; ℳ). There is one class of proper ℚ-parabolic subgroups in SL_{2}(ℝ), represented by the Borel subgroup of upper triangular matrices. Hence only one term appears in big direct sum on the right of (A.2.8), which is the Eisenstein term E_{k}.

The summand H_{cusp}^{∗}(Γ; ℳ) of (A.2.8) is called the cuspidal cohomology; this is the subspace of classes represented by cuspidal automorphic forms. The remaining summands constitute the Eisenstein cohomology of Γ [Har91]. In particular the summand indexed by {P } is constructed using Eisenstein series attached to certain cuspidal automorphic forms on lower rank groups. Hence H_{cusp}^{∗}(Γ; ℳ) is in some sense the most important part of the cohomology: all the rest can be built systematically from cuspidal cohomology on lower rank groups.(^{5}) This leads us to our basic computational problem:

Problem A.9. Develop tools to compute explicitly the cohomology spaces H^{∗}(Γ; ℳ), and to identify the cuspidal subspace H_{cusp}^{∗}(Γ; ℳ).

A.3. Combinatorial Models for Group Cohomology

A.3.1. In this section, we restrict attention to G = SL_{n}(ℝ) and Γ a congruence subgroup of SL_{n}(ℤ). By the previous section, we can study the group cohomology H^{∗}(Γ; ℳ) by studying the cohomology H^{∗}(Γ\X; ℳ̃). The latter spaces can be studied using standard topological techniques, such as taking the cohomology of complexes associated to cellular decompositions of Γ\X. For SL_{n}(ℝ), one can construct such decompositions using a version of explicit reduction theory of real positive-definite quadratic forms due to Voronoǐ [Vor08]. The goal of this section is to explain how this is done. We also discuss how the cohomology can be explicitly studied for congruence subgroups of SL_{3}(ℤ).

A.3.2. Let V be the ℝ-vector space of all symmetric n × n matrices, and let C ⊂ V be the subset of positive-definite matrices. The space C can be identified with the space of all real positive-definite quadratic forms in n variables: in coordinates, if x = (x_{1}, …, x_{n})^{t} ∈ ℝ^{n} (column vector), then the matrix A ∈ C induces the quadratic form

x ⟼ x^{t}Ax,

and it is well known that any positive-definite quadratic form arises in this way. The space C is a cone, in that it is preserved by homotheties: if x ∈ C, then λx ∈ C for all λ ∈ ℝ_{>0}. It is also convex: if x_{1}, x_{2} ∈ C, then tx_{1} +(1−t)x_{2} ∈ C for t ∈ [0, 1]. Let D be the quotient of C by homotheties.

Example A.10. The case n = 2 is illustrative. We can take coordinates on V ≃ ℝ^{3} by representing any matrix in V as

( \begin{matrix}x & y \\ y & z \end{matrix} ) , x, y, z ∈ ℝ.

The subset of singular matrices Q = {xz − y^{2} = 0} is a quadric cone in V dividing the complement V ∖ Q into three connected components. The component containing the identity matrix is the cone C of positive-definite matrices. The quotient D can be identified with an open 2-disk.

5This is a bit of an oversimplification, since it is a highly nontrivial problem to decide when cusp cohomology from lower rank groups appears in Γ. However, many results are known; as a selection we mention [Har91, Har87, LS04]

The group G acts on C on the left by

(g, c) ⟼ gcg^{t}.

This action commutes with that of the homotheties, and thus descends to a G-action on D. One can show that G acts transitively on D and that the stabilizer of the image of the identity matrix is K = SO(n). Hence we may identify D with our symmetric space X = SL_{n}(ℝ)/ SO(n). We will do this in the sequel, using the notation D when we want to emphasize the coordinates coming from the linear structure of C ⊂ V, and the notation X for the quotient G/K.

We can make the identification D ≃ X more explicit. If g ∈ SL_{n}(ℝ), then the map

(A.3.1)  g ⟼ gg^{t}.

takes g to a symmetric positive-definite matrix. Any coset gK is taken to the same matrix since KK^{t} = Id. Thus (A.3.1) identifies G/K with a subset C_{1} of C, namely those positive-definite symmetric matrices with determinant 1. It is easy to see that C_{1} maps diffeomorphically onto D.

The inverse map C_{1} → G/K is more complicated. Given a determinant 1 positive-definite symmetric matrix A, one must find g ∈ SL_{n}(ℝ) such that gg^{t} = A. Such a representation always exists, with g determined uniquely up to right multiplication by an element of K. In computational linear algebra, such a g can be constructed through Cholesky decomposition of A.

The group SL_{n}(ℤ) acts on C via the G-action, and does so properly discontinuously. This is the “unimodular change of variables” action on quadratic forms [Ser73a, V.1.1]. Under our identification of D with X, this is the usual action of SL_{n}(ℤ) by left translation from §A.2.7.

A.3.3. Now consider the group cohomology H^{∗}(Γ; ℳ) = H^{∗}(Γ\X; ℳ̃). The identification D ≃ X shows that the dimension of X is n(n + 1)/2 − 1. Hence H^{i}(Γ; ℳ) vanishes if i > n(n + 1)/2 − 1. Since dim X grows quadratically in n, there are many potentially interesting cohomology groups to study.

However, it turns out that there is some additional vanishing of the cohomology for deeper (topological) reasons. For n = 2, this is easy to see. The quotient Γ\𝔥 is homeomorphic to a topological surface with punctures, corresponding to the cusps of Γ. Any such surface S can be retracted onto a finite graph simply by “stretching” S along its punctures. Thus H^{2}(Γ; ℳ) = 0, even though dim Γ\𝔥 = 2.

For Γ ⊂ SL_{n}(ℤ), a theorem of Borel–Serre implies that H^{i}(Γ; ℳ) vanishes if i > dim X − n + 1 = n(n − 1)/2 [BS73, Theorem 11.4.4]. The number ν = n(n − 1)/2 is called the virtual cohomological dimension of Γ, and is denoted vcd Γ. Thus we only need to consider cohomology in degrees i ≤ ν.

Moreover we know from §A.2.8 that the most interesting part of the cohomology is the cuspidal cohomology. In what degrees can it live? For n = 2, there is only one interesting cohomology group H^{1}(Γ; ℳ), and it contains the cuspidal cohomology. For higher dimensions, the situation is quite different: for most i, the subspace H_{cusp}^{i}(Γ; ℳ) vanishes! In fact in the late 70’s Borel, Wallach, and Zuckerman observed that the cuspidal cohomology can only live in the cohomological degrees lying in an interval around (dim X)/2 of size linear in n. An explicit description of this interval is given in [Sch86, Proposition 3.5]; one can also look at Table A.3.1, from which the precise statement is easy to determine.

Another feature of Table A.3.1 deserves to be mentioned. There are exactly two values of n, namely n = 2, 3, such that virtual cohomological dimension equals the upper limit of the cuspidal range. This will have implications later, when we study the action of the Hecke operators on the cohomology.

n  2 3 4 5 6 7 8 9
dim X  2 5 9 14 20 27 35 44
vcd Γ  1 3 6 10 15 21 28 36
top degree of H_{cusp}^{∗}  1 3 5 8 11 15 19 24
bottom degree of H_{cusp}^{∗} 1 2 4 6 9 12 16 20

Table A.3.1. The virtual cohomological dimension and the cuspidal range for subgroups of SL_{n}(ℤ)

A.3.4. Recall that a point in ℤ^{n} is said to be primitive if the greatest common divisor of its coordinates is 1. In particular, a primitive point is nonzero. Let 𝒫 ⊂ ℤ^{n} be the set of primitive points. Any v ∈ 𝒫, written as a column vector, determines a rank-one symmetric matrix q(v) in the closure C̄ via q(v) = vv^{t}. The Voronoǐ polyhedron Π is defined to be the closed convex hull in C̄ of the points q(v), as v ranges over 𝒫. Note that by construction, SL_{n}(ℤ) acts on Π, since SL_{n}(ℤ) preserves the set {q(v)} and acts linearly on V.

Example A.11. Figure A.3.1 represents a crude attempt to show what Π looks like for n = 2. These images were constructed by computing a large subset of the points q(v) and taking the convex hull (we took all points v ∈ 𝒫 such that Trace q(v) < N for some large integer N). From a distance, the polyhedron Π looks almost indistinguishable from the cone C; this is somewhat conveyed by the right of Figure A.3.1. Unfortunately Π isn’t locally finite, so we really can’t produce an accurate picture. To get a more accurate image, the reader should imagine that each vertex meets infinitely many edges. On the other hand, Π isn’t hopelessly complex: each maximal face is a triangle, as the pictures suggest.

(a)  (b)

Figure A.3.1. The polyhedron Π for SL_{2}(ℤ). In (a) we see Π from the origin, in (b) from the side. The small triangle at the right center of (a) is the facet with vertices {q(e_{1}), q(e_{2}), q(e_{1} + e_{2})}, where {e_{1}, e_{2}} is the standard basis of ℤ^{2}. In (b) the x-axis runs along the top from left to right, and the z-axis runs down the left side. The facet from (a) is the little triangle at the top left corner of (b).

A.3.5. The polyhedron Π is quite complicated: it has infinitely many faces, and is not locally finite. However, one of Voronoǐ’s great insights is that Π is actually not as complicated as it seems.

For any A ∈ C, let μ(A) be the minimum value attained by A on 𝒫 and let M(A) ⊂ 𝒫 be the set on which A attains μ(A). Note that μ(A) > 0 and M(A) is finite since A is positive-definite. Then A is called perfect if it is recoverable from the knowledge of the pair (μ(A), M(A)). In other words, given (μ(A), M(A)), we can write a system of linear equations

(A.3.2)  mZm^{t} = μ(A), m ∈ M(A),

where Z = (z_{ij}) is a symmetric matrix of variables. Then A is perfect if and only if A is the unique solution to the system (A.3.2).

Example A.12. The quadratic form Q(x, y) = x^{2} − xy + y^{2} is perfect. The smallest nontrivial value it attains on ℤ^{2} is μ(Q) = 1, and it does so on the columns of

M(Q) = ( \begin{matrix}1 & 0 & 1 \\ 0 & 1 & 1 \end{matrix} )

and their negatives. Letting αx^{2} + βxy + γy^{2} be an undetermined quadratic form and applying the data (μ(Q), M(Q)), we are led to the system of linear equations

α = 1, γ = 1, α + β + γ = 1.

From this we recover Q(x, y).

Example A.13. The quadratic form Q′(x, y) = x^{2} +y^{2} isn’t perfect. Again the smallest nontrivial value of Q′ on ℤ^{2} is m(Q′) = 1, attained on the columns of

M(Q′) = ( \begin{matrix}1 & 0 \\ 0 & 1 \end{matrix} )

and their negatives. But every member of the one-parameter family of quadratic forms

(A.3.3)  x^{2} + αxy + y^{2}, α ∈ (−1, 1)

has the same set of minimal vectors, and so Q′ can’t be recovered from the knowledge of m(Q′), M(Q′).

Example A.14. Example A.12 generalizes to all n. Define

(A.3.4)  A_{n}(x) := ∑_{i=1}^{n} x_{i}^{2} − ∑_{1≤i<j≤n} x_{i}x_{j}.

Then A_{n} is perfect for all n. We have μ(A_{n}) = 1, and M(A_{n}) consists of all points of the form

±(e_{i} + e_{i+1} + ⋯ + e_{i+k}), 1 ≤ i ≤ n, i ≤ i + k ≤ n,

where {e_{i}} is the standard basis of ℤ^{n}. This quadratic form is closely related to the A_{n} root lattice [FH91], which explains its name. It is one of two infinite families of perfect forms studied by Voronoǐ (the other is related to the D_{n} root lattice).

We can now summarize Voronoǐ’s main results:

(1) There are finitely many equivalence classes of perfect forms modulo the action of SL_{n}(ℤ). Voronoǐ even gave an explicit algorithm to determine all the perfect forms of a given dimension.

(2) The facets of Π, in other words the codimension 1 faces, are in bijection with the rank n perfect quadratic forms. Under this correspondence the minimal vectors M(A) determine a facet F_{A} by taking the convex hull in C̄ of the finite point set {q(m) | m ∈ M(A)}. Hence there are finitely many faces of Π modulo SL_{n}(ℤ), and thus finitely many modulo any finite index subgroup Γ.

(3) Let 𝒱 be the set of cones over the faces of Π. Then 𝒱 is a fan, which means (i) if σ ∈ 𝒱 , then any face of σ is also in 𝒱 ; and (ii) if σ, σ′ ∈ 𝒱 , then σ ∩ σ′ is a common face of each.(^{6}) The fan 𝒱 provides a reduction theory for C in the following sense: any point x ∈ C is contained in a unique σ(x) ∈ 𝒱 , and the set {γ ∈ SL_{n}(ℤ) | γ · σ(x) = σ(x)} is finite. Voronoǐ also gave an explicit algorithm to determine σ(x) given x, the Voronoǐ reduction algorithm.

The number N_{perf} of equivalence classes of perfect forms modulo the action of GL_{n}(ℤ) grows rapidly with n (Table A.3.2); the complete classification is known only for n ≤ 8. For a list of perfect forms up to n = 7, see [CS88]. For a recent comprehensive treatment of perfect forms, with many historical remarks, see [Mar03].

Dimension N_{perf}  Authors
2  1  Voronoǐ [Vor08]
3  1  ibid.
4  2  ibid.
5  3  ibid.
6  7  Barnes [Bar57]
7  33  Jaquet-Chiffelle [Jaq91, JC93]
8  10916 Dutour–Schurmann–Vallentin [DVS05]

Table A.3.2. The number N_{perf} of equivalence classes of perfect forms

A.3.6. Our goal now is to describe how the Voronoǐ fan 𝒱 can be used to compute the cohomology H^{∗}(Γ; ℳ). The idea is to use the cones in 𝒱 to chop the quotient D into pieces.

For any σ ∈ 𝒱 , let σ^{∘} be the open cone obtained by taking the complement in σ of its proper faces. Then after taking the quotient by homotheties, the cones {σ^{∘} ∩ C | σ ∈ 𝒱 } pass to locally closed subsets of D. Let 𝒞 be the set of these images.

Any c ∈ 𝒞 is a topological cell, i.e. is homeomorphic to an open ball, since c is homeomorphic to a face of Π. Because 𝒞 comes from the fan 𝒱 , the cells in 𝒞 have good incidence properties: the closure in D of any c ∈ 𝒞 can be written as a finite disjoint union of elements of 𝒞. Moreover, 𝒞 is locally finite: by taking quotients of all the σ^{∘} meeting C, we have eliminated the open cones lying in C̄, and it is these cones that are responsible for the failure of local finiteness of 𝒱 . We summarize these properties by saying that 𝒞 gives a cellular decomposition of D. Clearly SL_{n}(ℤ) acts on 𝒞, since 𝒞 is constructed using the fan 𝒱 . Thus we obtain a cellular decomposition of Γ\D for any torsion-free Γ.(^{7}) We call 𝒞 the Voronoǐ decomposition of D.

6Strictly speaking, Voronoǐ actually showed that every codimension 1 cone is contained in two top dimensional cones.

Some care must be taken in using these cells to perform topological computations. The problem is that even though the individual pieces are homeomorphic to balls, and are glued together nicely, the boundaries of the closures of the pieces are not homeomorphic to spheres in general. (If they were, then the Voronoǐ decomposition would give rise to a regular cell complex [CF67], which can be used as a substitute for a simplicial or CW complex in homology computations.) Nevertheless, there is a way to remedy this.

Recall that a subspace A of a topological space B is a strong deformation retract if there is a continuous map f: B × [0, 1] → B such that f(b, 0) = b, f(b, 1) ∈ A, and f(a, t) = a for all a ∈ A. For such pairs A ⊂ B we have H^{∗}(A) = H^{∗}(B). One can show that there is a strong deformation retraction from C to itself equivariant under the actions of both SL_{n}(ℤ) and the homotheties, and that the image of the retraction modulo homotheties, denoted W, is naturally a locally finite regular cell complex of dimension ν. Moreover, the cells in W are in bijective, inclusion-reversing correspondence with the cells in 𝒞. In particular, if a cell in 𝒞 has codimension d, the corresponding cell in W has dimension d. Thus, for example, the vertices of W modulo SL_{n}(ℤ) are in bijection with the top dimensional cells in 𝒞, which are in bijection with equivalence classes of perfect forms.

In the literature W is called the well-rounded retract. The subspace W ⊂ D ≃ X has a beautiful geometric interpretation. The quotient

SL_{n}(ℤ)\X = SL_{n}(ℤ)\ SL_{n}(ℝ)/ SO(n)

can be interpreted as the moduli space of lattices in ℝ^{n} modulo the equivalence relation of rotation and positive scaling. (cf. [AG00]; for n = 2 one can also see [Ser73a, VII, Proposition 3]). Then W corresponds to those lattices whose shortest nonzero vectors span ℝ^{n}. This is the origin of the name: the shortest vectors of such a lattice are “more round” than those of a generic lattice.

The space W was known classically for n = 2, and was constructed for n ≥ 3 by Lannes and Soulé, although Soulé only published the case n = 3 [Sou75]. The construction for all n appears in work of Ash [Ash80, Ash84], who also generalized W to a much larger class of groups. Explicit computations of the cell structure of W have only been performed up to n = 6 [EVGS02]. Certainly computing W explicitly for n = 8 seems very difficult, as Table A.3.2 indicates.

7If Γ has torsion, then cells in 𝒞 can have nontrivial stabilizers in Γ, and thus Γ\𝒞 should be considered as an “orbifold” cellular decomposition.

Example A.15. Figure A.3.2 illustrates 𝒞 and W for SL_{2}(ℤ). As in Example A.11, the polyhedron Π is 3-dimensional, and so the Voronoǐ fan 𝒱 has cones of dimensions 0, 1, 2, 3. The 1-cones of 𝒱 , which correspond to the vertices of Π, pass to infinitely many points on the boundary ∂D̄ = D̄ ∖ D. The 3-cones become triangles in D̄ with vertices on ∂D̄. In fact, the identifications D ≃ SL_{2}(ℝ)/ SO(2) ≃ 𝔥 realize D as the Klein model for the hyperbolic plane, in which geodesics are represented by Euclidean line segments. Hence, the images of the 1-cones of 𝒱 are none other than the usual cusps of 𝔥, and the triangles are the SL_{2}(ℤ)-translates of the ideal triangle with vertices {0, 1, ∞}. These triangles form a tessellation of 𝔥 sometimes known as the Farey tessellation. The edges of the Voronoǐ are the SL_{2}(ℤ)- translates of the ideal geodesic between 0 and ∞. After adjoining cusps and passing to the quotient X_{0}(N), these edges become the supports of the Manin symbols from §8.2 (cf. Figure 3.1.2). This example also shows how the Voronoǐ decomposition fails to be a regular cell complex: the boundaries of the closures of the triangles in D don’t contain the vertices, and thus aren’t homeomorphic to circles.

The virtual cohomological dimension of SL_{2}(ℤ) is 1. Hence the wellrounded retract W is a graph (Figures A.3.2 and A.3.3). Note that W is not a manifold. The vertices of W are in bijection with the Farey triangles— each vertex lies at the center of the corresponding triangle—and the edges are in bijection with the Manin symbols. Under the map D → 𝔥, the graph W becomes the familiar “PSL_{2}-tree” embedded in 𝔥, with vertices at the order 3 elliptic points (Figure A.3.3).

A.3.7. We now discuss the example SL_{3}(ℤ) in some detail. This example gives a good feeling for how the general situation compares to the case n = 2.

We begin with the Voronoǐ fan 𝒱 . The cone C is 6-dimensional, and the quotient D is 5-dimensional. There is one equivalence class of perfect forms modulo the action of SL_{3}(ℤ), represented by the form (A.3.4). Hence there are 12 minimal vectors; six are the columns of the matrix

(A.3.5)  ( \begin{matrix}1 & 0 & 0 & 1 & 0 & 1 \\ 0 & 1 & 0 & 1 & 1 & 1 \\ 0 & 0 & 1 & 0 & 1 & 1 \end{matrix} ) ,

and the remaining six are the negatives of these. This implies that the cone σ corresponding to this form is 6-dimensional and simplicial. The latter implies that the faces of σ are the cones generated by {q(v) | v ∈ S}, where S ranges over all subsets of (A.3.5). To get the full structure of the fan, one

Figure A.3.2. The Voronoǐ decomposition and the retract in D

Figure A.3.3. The Voronoǐ decomposition and the retract in 𝔥

must determine the SL_{3}(ℤ) orbits of faces, as well as which faces lie in the boundary ∂C̄ = C̄ ∖ C. After some pleasant computation, one finds:

(1) There is one equivalence class modulo SL_{3}(ℤ) for each of the 6-, 5-, 2-, and 1-dimensional cones.

(2) There are two equivalence classes of the 4-dimensional cones, represented by the sets of minimal vectors

( \begin{matrix}1 & 0 & 0 & 1 \\ 0 & 1 & 0 & 1 \\ 0 & 0 & 1 & 1 \end{matrix} ) and ( \begin{matrix}1 & 0 & 0 & 1 \\ 0 & 1 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{matrix} ) .

(3) There are two equivalence classes of the 3-dimensional cones, represented by the sets of minimal vectors

( \begin{matrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{matrix} ) and ( \begin{matrix}1 & 0 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \end{matrix} ) .

The second type of 3-cone lies in ∂C̄, and thus does not determine a cell in 𝒞.

(4) The 2- and 1-dimensional cones lie entirely in ∂C̄, and do not determine cells in 𝒞.

After passing from C to D, the cones of dimension k determine cells of dimension k − 1. Therefore, modulo the action of SL_{3}(ℤ) there are five types of cells in the Voronoǐ decomposition 𝒞, with dimensions from 5 to 2. We denote these cell types by c_{5}, c_{4}, c_{3a}, c_{3b}, and c_{2}. Here c_{3a} corresponds to the first type of 4-cone in item (2) above, and c_{3b} to the second. For a beautiful way to index the cells of 𝒞 using configurations in projective spaces, see [McC91].

The virtual cohomological dimension of SL_{3}(ℤ) is 3, which means that the retract W is a 3-dimensional cell complex. The closures of the topdimensional cells in W, which are in bijection with the Voronoǐ cells of type c_{2}, are homeomorphic to solid cubes truncated along two pairs of opposite corners (Figure A.3.4). To compute this, one must see how many Voronoǐ cells of a given type contain a fixed cell of type c_{2} (since the inclusions of cells in W are the opposite of those in 𝒞).

A table of the incidence relations between the cells of 𝒞 and W is given in Table A.3.3. To interpret the table, let m = m(X, Y) be the integer in row X and column Y.

• If m is below the diagonal, then the boundary of a cell of type Y contains m cells of type X.

• If m is above the diagonal, then a cell of type Y appears in the boundary of m cells of type X.

For instance, the entry 16 in row c_{5} and column c_{2} means that a Voronoǐ cell of type c_{2} meets the boundaries of 16 cells of type c_{5}. This is same as the number of vertices in the Soulé cube (Figure A.3.4). Investigation of the table shows that the triangular (respectively, hexagonal) faces of the Soulé cube correspond to the Voronoǐ cells of type c_{3a} (resp., c_{3b}).

Figure A.3.5 shows a Schlegel diagram for the Soulé cube. One vertex is at infinity; this is indicated by the arrows on three of the edges. This Soulé cube is dual to the Voronoǐ cell C of type c_{2} with minimal vectors given by the columns of the identity matrix. The labels on the 2-faces are additional minimal vectors that show which Voronoǐ cells contain C. For example, the central triangle labelled with (1, 1, 1)^{t} is dual to the Voronoǐ cell of type c_{3a} with minimal vectors given by those of C together with (1, 1, 1)^{t}. Cells of type c_{4} containing C in their closure correspond to the edges of the figure; the minimal vectors for a given edge are those of C together with the two vectors on the 2-faces containing the edge. Similarly, one can read off the minimial vectors of the top-dimensional Voronoǐ cells containing C, which correspond to the vertices of Figure A.3.5.

c_{5}  c_{4}  c_{3a}  c_{3b}  c_{2}
c_{5}  •  2  3  6  16
c_{4}  6  •  3  6  24
c_{3a}  3  1  •  •  4
c_{3b}  12  4  •  •  6
c_{2}  12  8  4  3  •

Table A.3.3. Incidence relations in the Voronoǐ decomposition and the retract for SL_{3}(ℤ)

Figure A.3.4. The Soulé cube

A.3.8. Now let p be a prime, and let Γ = Γ_{0}(p) ⊂ SL_{3}(ℤ) be the Hecke subgroup of matrices with bottom row congruent to (0, 0, ∗) mod p (Example A.4). The virtual cohomological dimension of Γ is 3, and the cusp cohomology with constant coefficients can appear in degrees 2 and 3. One can show that the cusp cohomology in degree 2 is dual to that in degree 3, so for computational purposes it suffices to focus on degree 3.

In terms of W, these will be cochains supported on the 3-cells. Unfortunately we cannot work directly with the quotient Γ\W since Γ has torsion: there will be cells taken to themselves by the Γ-action, and thus the cells of W need to be subdivided to induce the structure of a cell complex on Γ\W. Thus when Γ has torsion, the “set of 3-cells modulo Γ” unfortunately makes no sense.

To circumvent this problem, one can mimic the idea of Manin symbols. The quotient Γ\ SL_{3}(ℤ) is in bijection with the finite projective plane ℙ^{2}(𝔽_{p}), PSfrag replacements

(1, 1, 1)^{t} (−1, 1, 1)^{t} (1, −1, 1)^{t} (1, 1, −1)^{t} (1, 1, 0)^{t} (1, −1, 0)^{t} (0, 1, 1)^{t} (0, 1, −1)^{t} (1, 0, 1)^{t} (1, 0, −1)^{t}

Figure A.3.5. A Schlegel diagram of a Soulé cube, showing the minimal vectors that correspond to the 2-faces

where 𝔽_{p} is the field with p elements (cf. Proposition 3.10). The group SL_{3}(ℤ) acts transitively on the set of all 3-cells of W; if we fix one such cell w, its stabilizer Stab(w) = {γ ∈ SL_{3}(ℤ) | γw = w} is a finite subgroup of SL_{3}(ℤ). Hence the set of 3-cells modulo Γ should be interpreted as the set of orbits in ℙ^{2}(𝔽_{p}) of the finite group Stab(w). This suggests describing H^{3}(Γ; ℂ) in terms of the space 𝒮 of complex-valued functions f: ℙ^{2}(𝔽_{p}) → ℂ. To carry this out, there are two problems:

(1) How do we explicitly describe H^{3}(Γ; ℂ) in terms of 𝒮?

(2) How can we isolate the cuspidal subspace H_{cusp}^{3}(Γ; ℂ) ⊂ H^{3}(Γ; ℂ) in terms of our description?

Fully describing the solutions to these problems is rather complicated. We content ourselves with presenting the following theorem, which collects together several statements in [AGG84]. This result should be compared to Theorems 3.13 and 8.4.

Theorem A.16. [AGG84, Theorem 3.19, Summary 3.23] We have

dim H^{3}(Γ_{0}(p); ℂ) = dim H_{cusp}^{3}(Γ_{0}(p); ℂ) + 2S_{p},

where S_{p} is the dimension of the space of weight 2 holomorphic cusp forms on Γ_{0}(p) ⊂ SL_{2}(ℤ). Moreover, the cuspidal cohomology H_{cusp}^{3}(Γ_{0}(p); ℂ) is isomorphic to the vector space of functions f: ℙ^{2}(𝔽_{p}) → ℂ satisfying

(1) f(x, y, z) = f(z, x, y) = f(−x, y, z) = −f(y, x, z),
(2) f(x, y, z) + f(−y, x − y, z) + f(y − x, −x, z) = 0,
(3) f(x, y, 0) = 0, and

(4) ∑_{z=1}^{p−1} f(x, y, z) = 0.

Unlike subgroups of SL_{2}(ℤ), cuspidal cohomology is apparently much rarer for Γ_{0}(p) ⊂ SL_{3}(ℤ). The computations of [AGG84, vGvdKTV97] show that the only prime levels p ≤ 337 with nonvanishing cusp cohomology are 53, 61, 79, 89, and 223. In all these examples, the cuspidal subspace is 2-dimensional.

For more details of how to implement such computations, we refer to [AGG84, vGvdKTV97]. For further details about the additional complications arising for higher rank groups, in particular subgroups of SL_{4}(ℤ), see [AGM02, §3].

A.4. Hecke Operators and Modular Symbols

A.4.1. There is one ingredient missing so far in our discussion of the cohomology of arithmetic groups, namely the Hecke operators. These are an essential tool in the study of modular forms. Indeed, the forms with the most arithmetic significance are the Hecke eigenforms, and the connection with arithmetic is revealed by the Hecke eigenvalues.

In higher rank the situation is similar. There is an algebra of Hecke operators acting on the cohomology spaces H^{∗}(Γ; ℳ). The eigenvalues of these operators are conjecturally related to certain representations of the Galois group. Just as in the case G = SL_{2}(ℝ), we need tools to compute the Hecke action.

In this section we discuss this problem. We begin with a general description of the Hecke operators and how they act on cohomology. Then we focus on one particular cohomology group, namely the top degree H^{ν}(Γ; ℂ), where ν = vcd(Γ) and Γ has finite index in SL_{n}(ℤ). This is the setting that generalizes the modular symbol method from Chapter 8. We conclude by giving examples of Hecke eigenclasses in the cuspidal cohomology of Γ_{0}(p) ⊂ SL_{3}(ℤ).

A.4.2. Let g ∈ SL_{n}(ℚ). The group Γ′ = Γ ∩ g^{−1}Γg has finite index in both Γ and g^{−1}Γg. The element g determines a diagram C(g)

\xymatrix{ & Γ′\X \ar[dl]_{s} \ar@{-->}[dr]^{t} \\ Γ\X &  & Γ\X}

called a Hecke correspondence. The map s is induced by the inclusion Γ′ ⊂ Γ, while t is induced by the inclusion Γ′ ⊂ g^{−1}Γg followed by the diffeomorphism g^{−1}Γg\X → Γ\X given by left multiplication by g. Specifically,

s(Γ′x) = Γx, t(Γ′x) = Γgx, x ∈ X.

The maps s and t are finite-to-one, since the indices [Γ′ : Γ] and [Γ′ : g^{−1}Γg] are finite. This implies that we obtain maps on cohomology

s^{∗}: H^{∗}(Γ\X) → H^{∗}(Γ′\X), t_{∗}: H^{∗}(Γ′\X) → H^{∗}(Γ\X).

Here the map s^{∗} is the usual induced map on cohomology, while the “wrongway” map t_{∗} is given by summing a class over the finite fibers of t.(^{8}) These maps can be composed to give a map

T_{g} := t_{∗}s^{∗}: H^{∗}(Γ\X; ℳ̃) ⟶ H^{∗}(Γ\X; ℳ̃),

This is called the Hecke operator associated to g. There is an obvious notion of isomorphism of Hecke correspondences. One can show that up to isomorphism, the correspondence C(g) and thus the Hecke operator T_{g} depend only on the double coset ΓgΓ. One can compose Hecke correspondences, and thus we obtain an algebra of operators acting on the cohomology, just as in the classical case.

Example A.17. Let n = 2, and let Γ = SL_{2}(ℤ). If we take g = diag(1, p), where p is a prime, then the action of T_{g} on H^{1}(Γ; M_{k−2}) is the same as the action of the classical Hecke operator T_{p} on the weight k holomorphic modular forms. If we take Γ = Γ_{0}(N), we obtain an operator T (p) for all p prime to N, and the algebra of Hecke operators coincides with the (semisimple) Hecke algebra generated by the T_{p}, (p, N) = 1. For p|N, one can also describe the U_{p} operators in this language.

Example A.18. Now let n > 2 and let Γ = SL_{n}(ℤ). The picture is very similar, except that now there are several Hecke operators attached to any prime p. In fact there are n − 1 operators T (p, k), k = 1, …, n − 1. The operator T (p, k) is associated to the correspondence C(g), where g = diag(1, …, 1, p, …, p), and where p occurs k times. If we consider the congruence subgroups Γ_{0}(N), we have operators T (p, k) for (p, N) = 1, and analogues of the U_{p} operators for p|N.

Just as in the classical case, any double coset ΓgΓ can be written as a disjoint union of left cosets

ΓgΓ = ∐_{h∈Ω} Γh

8Under the identification H^{∗}(Γ\X; ℳ̃) ≃ H^{∗}(Γ; ℳ), the map t_{∗} becomes the transfer map in group cohomology [Bro94, III.9].

for a certain finite set of n×n integral matrices Ω. For the operator T (p, k), the set Ω can be taken to be all upper-triangular matrices of the form [Kri90, Proposition 7.2]

( \begin{matrix}p^{e_{1}} & & & & a_{ij} \\ & . & . & . \\ & & & & p^{e_{n}} \end{matrix}  ) ,

where

• e_{i} ∈ {0, 1}, and exactly k of the e_{i} are equal to 1, and

• a_{ij} = 0 unless e_{i} = 0 and e_{j} = 1, in which case a_{ij} satisfies 0 ≤

a_{ij} < p.

Remark A.19. The number of coset representatives for the operator T (p, k) is the same as the number of points in the finite Grassmannian G(k, n)(𝔽_{p}). A similar phenomenon is true for the Hecke operators for any group G, although there are some subtleties [Gro98].

A.4.3. Recall that in §A.3.6 we constructed the Voronoǐ decomposition 𝒞 and the well-rounded retract W, and that we can use them to compute the cohomology H^{∗}(Γ; ℳ). Unfortunately, we can’t directly use them to compute the action of the Hecke operators on cohomology, since the Hecke operators do not act cellularly on 𝒞 or W. The problem is that the Hecke image of a cell in 𝒞 (or W) is usually not a union of cells in 𝒞 (or W). This is already apparent for n = 2. The edges of 𝒞 are the SL_{2}(ℤ)-translates of the ideal geodesic τ from 0 to ∞ (Example A.15). Applying a Hecke operator takes such an edge to a union of ideal geodesics, each with vertices at a pair of cusps. In general such geodesics aren’t an SL_{2}(ℤ)-translate of τ.

For n = 2, one solution is to work with all possible ideal geodesics with vertices at the cusps, in other words the space of modular symbols 𝕄_{2} from §3.2. Manin’s trick (Proposition 3.11) shows how to write any modular symbol as a linear combination of unimodular symbols, by which we mean modular symbols supported on the edges of 𝒞. These are the ideas we now generalize to all n.

Definition A.20. Let S_{0} be the ℚ-vector space spanned by the symbols v = [v_{1}, …, v_{n}], where v_{i} ∈ ℚ^{n} ∖ {0}, modulo the following relations:

(1) If τ is a permutation on n letters, then

[v_{1}, …, v_{n}] = sign(τ)[τ(v_{1}), …, τ(v_{n})],

where sign(τ) is the sign of τ.

(2) If q ∈ ℚ^{×}, then

[qv_{1}, v_{2} …, v_{n}] = [v_{1}, …, v_{n}].

(3) If the points v_{1}, …, v_{n} are linearly dependent, then v = 0.

Let B ⊂ S_{0} be the subspace generated by linear combinations of the form

(A.4.1)  ∑_{i=0}^{n}(−1)^{i}[v_{0}, …, v̂_{i}, …, v_{n}],

where v_{0}, …, v_{n} ∈ ℚ^{n} ∖ {0}, and where v̂_{i} means to omit v_{i}.

We call S_{0} the space of modular symbols. We caution the reader that there are some differences in what we call modular symbols and those found in §3.2 and Definition 8.2; we compare them in §A.4.4. The group SL_{n}(ℚ) acts on S_{0} by left multiplication: g·v = [gv_{1}, …, gv_{n}]. This action preserves the subspace B, and thus induces an action on the quotient M = S_{0}/B. For Γ ⊂ SL_{n}(ℤ) a finite index subgroup, let M_{Γ} be the space of Γ-coinvariants in M. In other words, M_{Γ} is the quotient of M by the subspace generated by {m − γ · m | γ ∈ Γ}.

The relationship between modular symbols and the cohomology of Γ is given by the following theorem, first proved for SL_{n} by Ash–Rudolph [AR79] and by Ash for general G [Ash86]:

Theorem A.21. [Ash86, AR79] Let Γ ⊂ SL_{n}(ℤ) be a finite index subgroup. There is an isomorphism

(A.4.2)  M_{Γ} ⟶^{∼} H^{ν}(Γ; ℚ),

where Γ acts trivially on ℚ, and where ν = vcd(Γ).

We remark that Theorem A.21 remains true if ℚ is replaced with nontrivial coefficients as in §A.2.7. Moreover, if Γ is assumed to be torsion-free then we can replace ℚ with ℤ.

The great virtue of M_{Γ} is that it admits an action of the Hecke operators. Given a Hecke operator T_{g}, write the double coset ΓgΓ as a disjoint union of left cosets

(A.4.3)  ΓgΓ = ∐_{h∈Ω} Γh

as in Example A.18. Any class in M_{Γ} can be lifted to a representative η = ∑ q(v)v ∈ S_{0}, where q(v) ∈ ℚ and almost all q(v) vanish. Then we define

(A.4.4)  T_{g}(v) = ∑_{h∈Ω} h · v,

and extend to η by linearity. The right of (A.4.4) depends on the choices of η and Ω, but after taking quotients and coinvariants we obtain a well-defined action on cohomology via (A.4.2).

A.4.4. The space S_{0} is closely related to the space 𝕄_{2} from §3.2 and §8.1. Indeed, 𝕄_{2} was defined to be the quotient (F/R)/(F/R)_{tor}, where F is the free abelian group generated by ordered pairs

(A.4.5)  {α, β}, α, β ∈ ℙ^{1}(ℚ),

and R is the subgroup generated by elements of the form

(A.4.6)  {α, β} + {β, γ} + {γ, α}, α, β, γ ∈ ℙ^{1}(ℚ).

The only new feature in Definition A.20 is item (3). For n = 2 this corresponds to the condition {α, α} = 0, which follows from (A.4.6). We have

S_{0}/B ≃ 𝕄_{2} ⊗ ℚ.

Hence there are two differences between S_{0} and 𝕄_{2}: our notion of modular symbols uses rational coefficients instead of integral coefficients, and is the space of symbols before dividing out by the subspace of relations B; we further caution the reader that this is somewhat at odds with the literature.

We also remark that the general arbitrary weight definition of modular symbols for a subgroup Γ ⊂ SL_{2}(ℤ) given in §8.1 also includes taking Γcoinvariants, as well as extra data for a coefficient system. We haven’t included the latter data since our emphasis is trivial coefficients, although it would be easy to do so in the spirit of §8.1

Elements of 𝕄_{2} also have a geometric interpretation: the symbol {α, β} corresponds to the ideal geodesic in 𝔥 with endpoints at the cusps α and β. We have a similar picture for the symbols v = [v_{1}, …, v_{n}]. We can assume that each v_{i} is primitive, which means that each v_{i} determines a vertex of the Voronoǐ polyhedron Π. The rational cone generated by these vertices determines a subset Δ(v) ⊂ D, where D is the linear model of the symmetric space X = SL_{n}(ℝ)/ SO(n) from §A.3.2. This subset Δ(v) is then an “ideal simplex” in X. There is also a connection between Δ(v) and torus orbits in X; we refer to [Ash86] for a related discussion.

A.4.5. Now we need a generalization of the Manin trick (§3.3.1). This is known in the literature as the modular symbol algorithm.

We can define a kind of norm function on S_{0} as follows. Let v = [v_{1}, …, v_{n}] be a modular symbol. For each v_{i}, choose λ_{i} ∈ ℚ^{×} such that λ_{i}v_{i} is primitive. Then we define

∥v∥ := | det(λ_{1}v_{1}, …, λ_{n}v_{n})| ∈ ℤ.

Note that ∥v∥ is well defined, since the λ_{i} are unique up to sign, and permuting the v_{i} only changes the determinant by a sign. We extend ∥ ∥ to all of S_{0} by taking the maximum of ∥ ∥ over the support of any η ∈ S_{0}: if η = ∑ q(v)v, where q(v) ∈ ℚ and almost all q(v) vanish, then we put

∥η∥ = Max_{q(v)≠0} ∥v∥.

We say a modular symbol η is unimodular if ∥η∥ = 1. It is clear that the images of the unimodular symbols generate a finite-dimensional subspace of M_{Γ}. The next theorem shows that this subspace is actually all of M_{Γ}.

Theorem A.22. [AR79, Bar94] The space M_{Γ} is spanned by the images of the unimodular symbols. More precisely, given any symbol v ∈ S_{0} with ∥v∥ > 1,

(1) in S_{0}/B we may write
(A.4.7)  v = ∑ q(w)w, q(w) ∈ ℤ,

where if q(w) ≠ 0 then ∥w∥ = 1, and

(2) the number of terms on the right of (A.4.7) is bounded by a polynomial in log ∥v∥ that depends only on the dimension n.

Proof. (Sketch) Given a modular symbol v = [v_{1}, …, v_{n}], we may assume that the points v_{i} are primitive. We will show that if ∥v∥ > 1, we can find a point u such that when we apply the relation (A.4.1) using the points u, v_{1}, …, v_{n}, all terms other than v have norm less than ∥v∥. We call such a point a reducing point for v.

Let P ⊂ ℝ^{n} be the open parallelotope

P := {∑ λ_{i}v_{i} | |λ_{i}| < ∥v∥^{−1/n}}.

Then P is an n-dimensional centrally symmetric convex body with volume 2^{n}. By Minkowski’s theorem from the geometry of numbers (cf. [FT93, IV.2.6]), P ∩ ℤ^{n} contains a nonzero point u. Using (A.4.1) we find

(A.4.8)  v = ∑_{i=1}^{n}(−1)^{i−1}v_{i}(u),

where v_{i}(u) is the symbol

v_{i}(u) = [v_{1}, …, v_{i−1}, u, v_{i+1}, …, v_{n}].

Moreover, it is easy to see that the new symbols satisfy

(A.4.9)  0 ≤ ∥v_{i}(u)∥ < ∥v∥^{(n−1)/n}, i = 1, …, n.

This completes the proof of the first statement.

To prove the second statement, we must estimate how many times relations of the form (A.4.8) need to be applied to obtain (A.4.7). A nonunimodular symbol produces at most n new modular symbols after (A.4.8) is performed; we potentially have to apply (A.4.8) again to each of the symbols that result, which in turn could produce as many as n new symbols for each. Hence we can visualize the process of constructing (A.4.7) as building a rooted tree, where the root is v, the leaves are the symbols w, and where each node has at most n children. It is not hard to see that the bound (A.4.9) implies that the depth of this tree (i.e. the longest length of a path from the root to a leaf) is O(log log ∥v∥). From this the second statement follows easily. □

Statement (1) of Theorem A.22 is due to Ash–Rudolph [AR79]. Instead of P, they used the larger parallelotope P′ defined by

P′ := {∑ λ_{i}v_{i} | |λ_{i}| < 1},

which has volume 2^{n}∥v∥. The observation that P′ can be replaced by P, as well as the proof of (2), are both due to Barvinok [Bar94].

A.4.6. The relationship between Theorem A.22 and Manin’s trick should be clear. For Γ ⊂ SL_{2}(ℤ), the Manin symbols correspond exactly to the unimodular symbols mod Γ. So Theorem A.22 implies that every modular symbol (in the language of §8.1) is a linear combination of Manin symbols. This is exactly the conclusion of Proposition 8.3.

In higher rank the relationship between Manin symbols and unimodular symbols is more subtle. In fact there are two possible notions of “Manin symbol,” which agree for SL_{2}(ℤ) but not in general. One possibility is the obvious one: a Manin symbol is a unimodular symbol.

The other possibility is to define a Manin symbol to be a modular symbol corresponding to a top-dimensional cell of the retract W. But for n ≥ 5, such modular symbols need not be unimodular. In particular, for n = 5 there are two equivalence classes of top-dimensional cells. One class corresponds to the unimodular symbols, the other to a set of modular symbols of norm 2. However, Theorems A.21 and A.22 show that H^{ν}(Γ; ℚ) is spanned by unimodular symbols. Thus as far as this cohomology group is concerned, the second class of symbols is in some sense unnecessary.

A.4.7. We return to the setting of §A.3.8 and give examples of Hecke eigenclasses in the cusp cohomology of Γ = Γ_{0}(p) ⊂ SL_{3}(ℤ). We closely follow [AGG84, vGvdKTV97]. Note that since the top of the cuspidal range for SL_{3} is the same as the virtual cohomological dimension ν, we can use modular symbols to compute the Hecke action on cuspidal classes.

Given a prime l coprime to p, there are two Hecke operators of interest T (l, 1) and T (l, 2). We can compute the action of these operators on H_{cusp}^{3}(Γ; ℂ) as follows. Recall that H_{cusp}^{3}(Γ; ℂ) can be identified with a certain space of functions f: ℙ^{2}(𝔽_{p}) → ℂ (Theorem A.16). Given x ∈ ℙ^{2}(𝔽_{p}), let Q_{x} ∈ SL_{3}(ℤ) be a matrix such that Q_{x} ↦ x under the identification ℙ^{2}(𝔽_{p}) ⟶^{∼} Γ\ SL_{3}(ℤ). Then Q_{x} determines a unimodular symbol [Q_{x}] by taking the v_{i} to be the columns of Q_{x}. Given any Hecke operator T_{g}, we can find coset representatives h_{i} such that ΓgΓ = ∐ Γh_{i} (explicit representatives for Γ = Γ_{0}(p) and T_{g} = T (l, k) are given in [AGG84, vGvdKTV97]). The modular symbols [h_{i}Q_{x}] are no longer unimodular in general, but we can apply Theorem A.22 to write

[h_{i}Q_{x}] = ∑_{j}[R_{ij}], R_{ij} ∈ SL_{3}(ℤ).

Then for f: ℙ^{2}(𝔽_{p}) → ℂ as in Theorem A.16, we have

(T_{g}f)(x) = ∑_{i,j} f(\overline{R_{ij}}),

where \overline{R_{ij}} is the class of R_{ij} in ℙ^{2}(𝔽_{p}).

Now let ξ ∈ H_{cusp}^{3}(Γ; ℂ) be a simultaneous eigenclass for all the Hecke operators T (l, 1), T (l, 2), as l ranges over all primes coprime with p. General considerations from the theory of automorphic forms imply that the eigenvalues a(l, 1), a(l, 2) are complex conjugates of one other. Hence it suffices to compute a(l, 1). We give two examples of cuspidal eigenclasses for two different prime levels.

Example A.23. Let p = 53. Then H_{cusp}^{3}(Γ_{0}(53); ℂ) is 2-dimensional. Let η = (1 + \sqrt{−11})/2. One eigenclass is given by the data

\begin{matrix}l & 2 & 3 & 5 & 7 & 11 & 13 \\ a(l, 1) & −1 − 2η & −2 + 2η & 1 & −3 & 1 & −2 − 12η \end{matrix}

and the other is obtained by complex conjugation.

Example A.24. Let p = 61. Then H_{cusp}^{3}(Γ_{0}(61); ℂ) is 2-dimensional. Let ω = (1 + \sqrt{−3})/2. One eigenclass is given by the data

\begin{matrix}l & 2 & 3 & 5 & 7 & 11 & 13 \\ a(l, 1) & 1 − 2ω & −5 + 4ω & −2 + 4ω & −6ω & −2 + 2ω & −2 − 4ω \end{matrix}

and the other is obtained by complex conjugation.

A.5. Other Cohomology Groups

A.5.1. In §A.4 we saw how to compute the Hecke action on the top cohomology group H^{ν}(Γ; ℂ). Unfortunately for n ≥ 4, this cohomology group does not contain any cuspidal cohomology. The first case is Γ ⊂ SL_{4}(ℤ); we have vcd(Γ) = 6, and the cusp cohomology lives in degrees 4 and 5. One can show that the cusp cohomology in degree 4 is dual to that in degree 5, so for computational purposes it suffices to be able to compute the Hecke action on H^{5}(Γ; ℂ). But modular symbols don’t help us here.

In this section we describe a technique to compute the Hecke action on H^{ν−1}(Γ; ℂ), following [Gun00a]. The technique is an extension of the modular symbol algorithm to these cohomology groups. In principle the ideas in this section can be modified to compute the Hecke action on other cohomology groups H^{ν−k}(Γ; ℂ), k > 1, although this has not been investigated.(^{9}) For n = 4, we have applied the algorithm in joint work with Ash and McConnell to investigate computationally the cohomology H^{5}(Γ; ℂ), where Γ_{0}(N) ⊂ SL_{4}(ℤ) [AGM02].

A.5.2. To begin, we need an analogue of Theorem A.21 for lower degree cohomology groups. In other words, we need a generalization of the modular symbols for other cohomology groups. This is achieved by the sharbly complex S_{∗}:

Definition A.25. [Ash94] Let {S_{∗}, ∂} be the chain complex given by the following data:

(1) For k ≥ 0, S_{k} is the ℚ-vector space generated by the symbols u = [v_{1}, …, v_{n+k}], where v_{i} ∈ ℚ^{n} ∖ {0}, modulo the relations:

(a) If τ is a permutation on (n + k) letters, then

[v_{1}, …, v_{n+k}] = sign(τ)[τ(v_{1}), …, τ(v_{n+k})],

where sign(τ) is the sign of τ.

(b) If q ∈ ℚ^{×}, then

[qv_{1}, v_{2} …, v_{n+k}] = [v_{1}, …, v_{n+k}].

(c) If the rank of the matrix (v_{1}, …, v_{n+k}) is less than n, then

u = 0.

(2) For k > 0, the boundary map ∂: S_{k} → S_{k−1} is

[v_{1}, …, v_{n+k}] ⟼ ∑_{i=1}^{n+k}(−1)^{i}[v_{1}, …, v̂_{i}, …, v_{n+k}].

We define ∂ to be identically zero on S_{0}.

The elements

u = [v_{1}, …, v_{n+k}]

9The first interesting case is n = 5, for which the cuspidal cohomology lives in H^{ν−2}.

are called k-sharblies.(^{10}) The 0-sharblies are exactly the modular symbols from Definition A.20, and the subspace B ⊂ S_{0} is the image of the boundary map ∂: S_{1} → S_{0}.

There is an obvious left action of Γ on S_{∗} commuting with ∂. For any k ≥ 0, let S_{k,Γ} be the space of Γ-coinvariants. Since the boundary map ∂ commutes with the Γ-action, we obtain a complex (S_{∗,Γ}, ∂_{Γ}). The following theorem shows that this complex computes the cohomology of Γ:

Theorem A.26. [Ash94] There is a natural isomorphism

H^{ν−k}(Γ; ℂ) ⟶^{∼} H_{k}(S_{∗,Γ} ⊗ ℂ).

A.5.3. We can extend our norm function ∥ ∥ from modular symbols to all of S_{k} as follows. Let u = [v_{1}, …, v_{n+k}] be a k-sharbly, and let Z(u) be the set of all submodular symbols determined by u. In other words, Z(u) consists of the modular symbols of the form [v_{i_{1}}, …, v_{i_{n}}], where {i_{1}, …, i_{n}} ranges over all n-fold subsets of {1, …, n + k}. Define ∥u∥ by

∥u∥ = Max_{v∈Z(u)} ∥v∥.

Note that ∥u∥ is well defined modulo the relations in Definition A.25. As for modular symbols, we extend the norm to sharbly chains ξ = ∑ q(u)u taking the maximum norm over the support. Formally, we let supp(ξ) = {u | q(u) ≠ 0} and Z(ξ) = ∪_{u∈supp(ξ)}Z(u), and then define ∥ξ∥ by

∥ξ∥ = Max_{v∈Z(ξ)} ∥v∥.

We say that ξ is reduced if ∥ξ∥ = 1. Hence ξ is reduced if and only if all its submodular symbols are unimodular or have determinant 0. Clearly there are only finitely many reduced k-sharblies modulo Γ for any k.

In general the cohomology groups H^{∗}(Γ; ℂ) are not spanned by reduced sharblies. However, it is known (cf. [McC91]) that for Γ ⊂ SL_{4}(ℤ), the group H^{5}(Γ; ℂ) is spanned by reduced 1-sharbly cycles. The best one can say in general is that for each pair n, k, there is an integer N = N(n, k) such that for Γ ⊂ SL_{n}(ℤ), H^{ν−k}(Γ; ℂ) is spanned by k-sharblies of norm ≤ N. This set of sharblies is also finite modulo Γ, although it is not known how large N must be for any given pair n, k.

A.5.4. Recall that the cells of the well-rounded retract W are indexed by sets of primitive vectors in ℤ^{n}. Since any primitive vector determines a point in ℚ^{n} ∖ {0}, and since sets of such points index sharblies, it is clear that there is a close relationship between S_{∗} and the chain complex associated to W, although of course S_{∗} is much bigger. In any case, both complexes compute H^{∗}(Γ; ℂ).

10The terminology for S_{∗} is due to Lee Rudolph, in honor of Lee and Szczarba. They introduced a very similar complex in [LS76] for SL_{3}(ℤ).

The main benefit of using the sharbly complex to compute cohomology is that it admits a Hecke action. Suppose ξ = ∑ q(u)u be a sharbly cycle mod Γ, and consider a Hecke operator T_{g}. Then we have

(A.5.1)  T_{g}(ξ) = ∑_{h∈Ω,u} n(u)h · u,

where Ω is a set of coset representatives as in (A.4.3). Since Ω ⊄ SL_{n}(ℤ) in general, the Hecke-image of a reduced sharbly isn’t usually reduced.

A.5.5. We are now ready to describe our algorithm for the computation of the Hecke operators on H^{ν−1}(Γ; ℂ). It suffices to describe an algorithm that takes as input a 1-sharbly cycle ξ and produces as output a cycle ξ′ with

(a) the classes of ξ and ξ′ in H^{ν−1}(Γ; ℂ) the same, and

(b) ∥ξ′∥ < ∥ξ∥ if ∥ξ∥ > 1.

We will present an algorithm satisfying (a) below. In [Gun00a], we conjectured (and presented evidence) that the algorithm satisfies (b) for n ≤ 4. Further evidence is provided by the computations in [AGM02], which relied on the algorithm to compute the Hecke action on H^{5}(Γ; ℂ), where Γ = Γ_{0}(N) ⊂ SL_{4}(ℤ).

The idea behind the algorithm is simple: given a 1-sharbly cycle ξ that isn’t reduced, (i) simultaneously apply the modular symbol algorithm (Theorem A.22) to each of its submodular symbols, then (ii) package the resulting data into a new 1-sharbly cycle. Our experience in presenting this algorithm is that most people find the geometry involved in (ii) daunting. Hence we will give details only for n = 2, and will provide a sketch for n > 2. Full details are contained in [Gun00a]. Note that n = 2 is topologically and arithmetically uninteresting, since we’re computing the Hecke action on H^{0}(Γ; ℂ); nevertheless, the geometry faithfully represents the situation for all n.

A.5.6. Fix n = 2, let ξ ∈ S_{1} be a 1-sharbly cycle mod Γ for some Γ ⊂ SL_{2}(ℤ), and suppose ξ is not reduced. Assume Γ is torsion-free to simplify the presentation.

Suppose first that all submodular symbols v ∈ Z(ξ) are nonunimodular. Select reducing points for each v ∈ Z(ξ), and make these choices Γ-equivariantly. This means the following. Suppose u, u′ ∈ supp ξ and v ∈ supp(∂u) and v′ ∈ supp(∂u′) are modular symbols such that v = γ · v′ for some γ ∈ Γ. Then we select reducing points w for v and w′ for v′ such that w = γ · w′. (Note that since Γ is torsion-free, no modular symbol can be identified to itself by an element of Γ, hence v ≠ v′.) This is possible since if v is a modular symbol and w is a reducing point for v, then γ ·w is a reducing point for γ · v) for any γ ∈ Γ. Because there are only finitely many Γ-orbits in Z(ξ), we can choose reducing points Γ-equivariantly by selecting them for some set of orbit representatives.

It is important to note that Γ-equivariance is the only global criterion we use when selecting reducing. In particular, there is a priori no relationship among the 3 reducing points chosen for any u ∈ supp ξ.

A.5.7. Now we want to use the reducing points and the 1-sharblies in ξ to build ξ′. Choose u = [v_{1}, v_{2}, v_{3}] ∈ supp ξ, and denote the reducing point for [v_{i}, v_{j}] by w_{k}, where {i, j, k} = {1, 2, 3}. We use the v_{i} and the w_{i} to build a 2-sharbly chain η(u) as follows.

Let P be an octahedron in ℝ^{3}. Label the vertices of P with the v_{i} and w_{i} such that the vertex labeled v_{i} is opposite the vertex labeled w_{i} (Figure A.5.1). Subdivide P into four tetrahedra by connecting two opposite vertices, say v_{1} and w_{1}, with an edge (Figure A.5.2). For each tetrahedron T, take the labels of four vertices and arrange them into a quadruple. If we orient P, then we can use the induced orientation on T to order the four primitive points. In this way, each T determines a 2-sharbly, and η(u) is defined to be the sum. For example, if we use the decomposition in Figure A.5.2, we have (A.5.2) η(u) = [v_{1}, v_{3}, v_{2}, w_{1}] + [v_{1}, w_{2}, v_{3}, w_{1}] + [v_{1}, w_{3}, w_{2}, w_{1}] + [v_{1}, v_{2}, w_{3}, w_{1}].

Repeat this construction for all u ∈ supp ξ, and let η = ∑ q(u)η(u). Finally, let ξ′ = ξ + ∂η.

PSfrag replacements v_{1} v_{2} v_{3} w_{1} w_{2} w_{3}

Figure A.5.1.

A.5.8. By construction, ξ′ is a cycle mod Γ in the same class as ξ. We claim in addition that no submodular symbol from ξ appears in ξ′. To see A.5. Other Cohomology Groups 239 PSfrag replacements

v_{1}

v_{2}
v_{3}
w_{1}
w_{2}
w_{3}

Figure A.5.2.

this, consider ∂η(u). From (A.5.2), we have

(A.5.3) ∂η(u) = −[v_{1}, v_{2}, v_{3}] + [v_{1}, v_{2}, w_{3}] + [v_{1}, w_{2}, v_{3}] + [w_{1}, v_{2}, v_{3}] − [v_{1}, w_{2}, w_{3}] − [w_{1}, v_{2}, w_{3}] − [w_{1}, w_{2}, v_{3}] + [w_{1}, w_{2}, w_{3}].

Note that this is the boundary in S_{∗}, not in S_{∗,Γ}. Furthermore, ∂η(u) is independent of which pair of opposite vertices of P we connected to build η(u).

From (A.5.3), we see that in ξ + ∂η the 1-sharbly −[v_{1}, v_{2}, v_{3}] is canceled by u ∈ supp ξ. We also claim that 1-sharblies in (A.5.3) of the form [v_{i}, v_{j}, w_{k}] vanish in ∂_{Γ}η.

To see this, let u,u′ ∈ supp ξ, and suppose v = [v_{1}, v_{2}] ∈ supp ∂u equals γ · v′ for some v′ = [v′_{1}, v′_{2}] ∈ supp ∂u′. Since the reducing points were chosen Γ-equivariantly, we have w = γ · w′. This means that the 1-sharbly [v_{1}, v_{2}, w] ∈ ∂η(u) will be canceled mod Γ by [v′_{1}, v′_{2}, w′] ∈ ∂η(u′). Hence, in passing from ξ to ξ′, the effect in (S_{∗})_{Γ} is to replace u with four 1-sharblies in supp ξ′:

(A.5.4) [v_{1}, v_{2}, v_{3}] ⟼ −[v_{1}, w_{2}, w_{3}]−[w_{1}, v_{2}, w_{3}]−[w_{1}, w_{2}, v_{3}]+[w_{1}, w_{2}, w_{3}].

Note that in (A.5.4), there are no 1-sharblies of the form [v_{i}, v_{j}, w_{k}].

Remark A.27. For implementation purposes, it is not necessary to explicitly construct η. Rather, one may work directly with (A.5.4).

A.5.9. Why do we expect ξ′ to satisfy ∥ξ′∥ < ∥ξ∥? First of all, in the right hand side of (A.5.4) there are no submodular symbols of the form [v_{i}, v_{j}]. In fact, any submodular symbol involving a point v_{i} also includes a reducing point for [v_{i}, v_{j}].

On the other hand, consider the submodular symbols in (A.5.4) of the form [w_{i}, w_{j}]. Since there is no relationship among the w_{i}, one has no reason to believe that these modular symbols are closer to unimodularity than those in u. Indeed, for certain choices of reducing points it can happen that ∥[w_{i}, w_{j}]∥ ≥ ∥u∥.

The upshot is that some care must be taken in choosing reducing points. In [Gun00a, Conjectures 3.5 and 3.6] we describe two methods for finding reducing points for modular symbols, one using Voronoǐ reduction and one using LLL-reduction. Our experience is that if one selects reducing points using either of these conjectures, then ∥[w_{i}, w_{j}]∥ < ∥u∥ for each of the new modular symbols [w_{i}, w_{j}]. In fact, in practice these symbols are trivial or satisfy ∥[w_{i}, w_{j}]∥ = 1.

A.5.10. In the previous discussion we assumed that no submodular symbols of any u ∈ supp ξ were unimodular. Now we say what to do if some are. There are three cases to consider.

First, all submodular symbols of u may be unimodular. In this case there are no reducing points, and (A.5.4) becomes

(A.5.5)  [v_{1}, v_{2}, v_{3}] ⟼ [v_{1}, v_{2}, v_{3}].

Second, one submodular symbol of u may be nonunimodular, say the symbol [v_{1}, v_{2}]. In this case to build η we use a tetrahedron P′ and put η(u) = [v_{1}, v_{2}, v_{3}, w_{3}] (Figure A.5.3). Since [v_{1}, v_{2}, w_{3}] vanishes in the boundary of η mod Γ, (A.5.4) becomes

(A.5.6)  [v_{1}, v_{2}, v_{3}] ↦ −[v_{1}, v_{3}, w_{3}] + [v_{2}, v_{3}, w_{3}].

PSfrag replacements v_{1}

v_{2}
v_{3}
w_{3}

Figure A.5.3.

Finally, two submodular symbols of u may be nonunimodular, say [v_{1}, v_{2}] and [v_{1}, v_{3}]. In this case we use the cone on a square P′′ (Figure A.5.4). To construct η(u) we must choose a decomposition of P′′ into tetrahedra. Since P′′ has a non-simplicial face this choice affects ξ′ (in contrast to the previous cases). If we subdivide P′′ by connecting the vertex labelled v_{2} with the vertex labelled w_{2}, we obtain

(A.5.7)  [v_{1}, v_{2}, v_{3}] ⟼ [v_{2}, w_{2}, w_{3}] + [v_{2}, v_{3}, w_{2}] + [v_{1}, v_{3}, w_{2}].

A.5.11. Now consider general n. The basic technique is the same, but the combinatorics become more complicated. Suppose u = [v_{1}, …, v_{n+1}] satisfies q(u) ≠ 0 in a 1-sharbly cycle ξ, and for i = 1, …, n + 1 let v_{i} be the submodular symbol [v_{1}, …, v̂_{i}, …, v_{n+1}]. Assume that all v_{i} are nonunimodular, and for each i let w_{i} be a reducing point for v_{i}.

For any subset I ⊂ {1, …, n + 1}, let u_{I} be the 1-sharbly [u_{1}, …, u_{n+1}], where u_{i} = w_{i} if i ∈ I, and u_{i} = v_{i} otherwise. The polytope P used to PSfrag replacements

v_{1}

v_{2}
v_{3}
w_{2}
w_{3}

Figure A.5.4.

build η(u) is the cross polytope, which is the higher-dimensional analogue of the octahedron [Gun00a, §4.4]. We suppress the details and give the final answer: (A.5.4) becomes

(A.5.8)  u ⟼ − ∑_{I}(−1)^{#I}u_{I},

where the sum is taken over all subsets I ⊂ {1, …, n + 1} of of cardinality at least 2.

More generally, if some v_{i} happen to be unimodular, then the polytope used to build η is an iterated cone on a lower-dimensional cross polytope. This is already visible for n = 2:

• The 2-dimensional cross polytope is a square, and the polytope P′′ is a cone on a square.

• The 1-dimensional cross polytope is an interval, and the polytope P′ is a double cone on an interval.

Altogether there are n + 1 relations generalizing (A.5.5)–(A.5.7).

A.5.12. Now we describe how these computations are carried out in practice, focusing on Γ = Γ_{0}(N) ⊂ SL_{4}(ℤ) and H^{5}(Γ; ℂ). Besides discussing technical details, we also have to slightly modify some aspects of the construction in §A.5.6, since Γ isn’t torsion-free.

Let W be the well-rounded retract. We can represent a cohomology class β ∈ H^{5}(Γ; ℂ) as β = ∑ q(σ)σ, where σ denotes a codimension 1 cell in W. In this case there are three types of codimension 1 cells in W. Under the bijection W ↔ 𝒞, these cells correspond to the Voronoǐ cells indexed by the columns of the matrices (A.5.9)

( \begin{matrix}1 & 0 & 0 & 0 & 1 \\ 0 & 1 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 & 1 \\ 0 & 0 & 0 & 1 & 1 \end{matrix} ) , ( \begin{matrix}1 & 0 & 0 & 0 & 1 \\ 0 & 1 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 & 1 \\ 0 & 0 & 0 & 1 & 0 \end{matrix} ) , ( \begin{matrix}1 & 0 & 0 & 0 & 1 \\ 0 & 1 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 \end{matrix} ) .

Thus each σ in W modulo Γ corresponds to an SL_{4}(ℤ)-translate of one of (A.5.9). These translates determine basis 1-sharblies u (by taking the points u_{i} to be the columns), and hence we can represent β by a 1-sharbly chain ξ = ∑ q(u)u ∈ S_{1} that is a cycle in the complex of coinvariants (S_{∗,Γ}, ∂_{Γ}).

To make later computations more efficient, we precompute more data attached to ξ. Given a 1-sharbly u = [u_{1}, …, u_{n+1}], a lift M(u) of u is defined to be an integral matrix with primitive columns M_{i} such that u = [M_{1}, …, M_{n+1}]. Then we encode ξ, once and for all, by a finite collection Φ of 4-tuples

(u, n(u), {v}, {M(v)}),

where

(1) u ranges over the support of ξ,

(2) n(u) ∈ ℂ is the coefficient of u in ξ,

(3) {v} is the set of submodular symbols appearing in the bounday of u, and

(4) {M(v)} is a set of lifts for {v}.

Moreover, the lifts in (4) are chosen to satisfy the following Γ-equivariance condition. Suppose that for u, u′ ∈ supp ξ we have v ∈ supp(∂u) and v′ ∈ supp(∂u′) satisfying v = γ · v′ for some γ ∈ Γ. Then we require M(v) = γM(v′). This is possible since ξ is a cycle modulo Γ, although there is one complication since Γ has torsion: it can happen that some submodular symbol v of a 1-sharbly u is identified to itself by an element of Γ. This means that in constructing {M(v)} for u, we must somehow choose more than one lift for v. To deal with this, let M(v) be any lift of v, and let Γ(v) ⊂ Γ be the stabilizer of v. Then in ξ, we replace q(u)u by

\frac{1}{#Γ(v)} ∑_{γ∈Γ(v)} q(u)u_{γ},

where u_{γ} has the same data as u, except that we give v the lift γM(v).(^{11})

Next we compute and store the 1-sharbly transformation laws generalizing (A.5.5)–(A.5.7). As a part of this we fix triangulations of certain cross polytopes as in (A.5.7).

We are now ready to begin the actual reduction algorithm. We take a Hecke operator T (l, k) and build the coset representatives Ω as in (A.5.1). For each h ∈ Ω and each 1-sharbly u in the support of ξ, we obtain a nonreduced 1-sharbly u_{h} := h · u. Here h acts on all the data attached to u in the list Φ. In particular, we replace each lift M(v) with h · M(v), where the dot means matrix multiplication.

11In fact, we can be slightly more clever than this and only introduce denominators that are powers of 2.

Now we check the submodular symbols of u_{h} and choose reducing points for the nonunimodular symbols. This is where the lifts come in handy. Recall that reduction points must be chosen Γ-equivariantly over the entire cycle. Instead of explicitly keeping track of the identifications between modular symbols, we do the following trick:

(1) Construct the Hermite normal form M_{her}(v) of the lift M(v) (see [Coh93, §2.4] and Exercise 7.5). Record the transformation matrix U ∈ GL_{4}(ℤ) such that UM(v) = M_{her}(v).

(2) Choose a reducing point u for M_{her}(v).

(3) Then the reducing point for M(v) is U^{−1}u.

This guarantees Γ-equivariance: if v, v′ are submodular symbols of ξ with γ · v = v′ and with reducing points u, u′, we have γu = u′. The reason is that the Hermite normal form M_{her}(v) is a uniquely determined representative of the GL_{4} ℤ)-orbit of M(v) [Coh93]. Hence if γM(v) = M(v′) then M_{her}(v) = M_{her}(v′).

After computing all reducing points, we apply the appropriate transformation law. The result will be a chain of 1-sharblies, each of which has (conjecturally) smaller norm than the original 1-sharbly u. We output these 1-sharblies if they’re reduced; otherwise they’re fed into the reduction algorithm again. Eventually we obtain a reduced 1-sharbly cycle ξ′ homologous to the original cycle ξ.

The final step of the algorithm is to rewrite ξ′ as a cocycle on W. This is easy to do since the relevant cells of W are in bijection with the reduced 1-sharblies. There are some nuisances in keeping orientations straight, but the computation is not difficult. We refer to [AGM02] for details.

A.5.13. We now give some examples, taken from [AGM02], of Hecke eigenclasses in H^{5}(Γ_{0}(N); ℂ) for various levels N. Instead of giving a table of eigenvalues, we give the Hecke polynomials. If β is an eigenclass with T (l, k)(β) = a(l, k)β, then we define

H(β, l) = ∑_{k}(−1)^{k}l^{k(k−1)/2}a(l, k)X^{k} ∈ ℂ[X].

For almost all l, after putting X = l^{−s} where s is a complex variable, the function H(β, s) is the inverse of the local factor at l of the automorphic representation attached to β.

Example A.28. Suppose N = 11. Then the cohomology H^{5}(Γ_{0}(11); ℂ) is 2-dimensional. There are two Hecke eigenclasses u_{1}, u_{2}, each with rational Hecke eigenvalues.

u_{1}  T_{2}  (1 − 4X)(1 − 8X)(1 + 2X + 2X^{2})
T_{3}  (1 − 9X)(1 − 27X)(1 + X + 3X^{2})
T_{5}  (1 − 25X)(1 − 125X)(1 − X + 5X^{2})
T_{7}  (1 − 49X)(1 − 343X)(1 + 2X + 7X^{2})
u_{2}  T_{2}  (1 − X)(1 − 2X)(1 + 8X + 32X^{2})
T_{3}  (1 − X)(1 − 3X)(1 + 9X + 243X^{2})
T_{5}  (1 − X)(1 − 5X)(1 − 25X + 3125X^{2})
T_{7}  (1 − X)(1 − 7X)(1 + 98X + 16807X^{2})

Example A.29. Suppose N = 19. Then the cohomology H^{5}(Γ_{0}(19); ℂ) is 3-dimensional. There are three Hecke eigenclasses u_{1}, u_{2}, u_{3}, each with rational Hecke eigenvalues.

u_{1}  T_{2}  (1 − 4X)(1 − 8X)(1 + 2X^{2})
T_{3}  (1 − 9X)(1 − 27X)(1 + 2X + 3X^{2})
T_{5}  (1 − 25X)(1 − 125X)(1 − 3X + 5X^{2})
u_{2}  T_{2}  (1 − X)(1 − 2X)(1 + 32X^{2})
T_{3}  (1 − X)(1 − 3X)(1 + 18X + 243X^{2})
T_{5}  (1 − X)(1 − 5X)(1 − 75X + 3125X^{2})
u_{3}  T_{2}  (1 − 2X)(1 − 4X)(1 + 3X + 8X^{2})
T_{3}  (1 − 3X)(1 − 9X)(1 + 5X + 27X^{2})
T_{5}  (1 − 5X)(1 − 25X)(1 + 12X + 125X^{2})

In these examples, the cohomology is completely accounted for by the Eisenstein summand of (A.2.8). In fact, let Γ′_{0}(N) ⊂ SL_{2}(ℤ) be the usual Hecke congruence subgroup of matrices upper-triangular modulo N. Then the cohomology classes above actually come from classes in H^{1}(Γ′_{0}(N)), that is from holomorphic modular forms of level N.

For N = 11, the space of weight two cusp forms S_{2}(11) is 1-dimensional. This cusp form f lifts in two different ways to H^{5}(Γ_{0}(11); ℂ), which can be seen from the quadratic part of the Hecke polynomials for the u_{i}. Indeed, for u_{i} the quadratic part is exactly the inverse of the local factor for the Lfunction attached to f, after the substitution X = l^{−s}. For u_{2}, we see that the lift is also twisted by the square of the cyclotomic character. (In fact the linear terms of the Hecke polynomials come from powers of the cyclotomic character.)

For N = 19, the space of weight two cusp forms S_{2}(19) is again 1dimensional. The classes u_{1} and u_{2} are lifts of this form, exactly as for N = 11. The class u_{3}, on the other hand, comes from S_{4}(19), the space of weight 4 cusp forms on Γ′_{0}(19). In fact, dim S_{4}(19) = 4, with one Hecke eigenform defined over ℚ and another defined over a totally real cubic extension of ℚ. Only the rational weight four eigenform contributes to H^{5}(Γ_{0}(19); ℂ). One can show that whether or not a weight four cuspidal eigenform f contributes to the cohomology of Γ_{0}(N) depends only on the sign of the functional equation of L(f, s) [Wes]. This phenomenon is typical of what one encounters when studying Eisenstein cohomology.

In addition to the lifts of weight 2 and weight 4 cusp forms, for other levels one finds lifts of Eisenstein series of weights 2 and 4, and lifts of cuspidal cohomology classes from subgroups of SL_{3}(ℤ). For some levels one finds cuspidal classes that appear to be lifts from the group of symplectic similitudes GSp(4). More details can be found in [AGM02, AGM].

A.5.14. Here are some notes on the reduction algorithm and its implementation:

• Some additional care must be taken when selecting reducing points for the submodular symbols of u. In particular, in practice one should choose w for v such that ∑ ∥v_{i}(w)∥ is minimized. Similar remarks apply when choosing a subdivision of the crosspolytopes in §A.5.10.

• In practice, the reduction algorithm has always terminated with a reduced 1-sharbly cycle ξ′ homologous to ξ. However, at the moment we cannot prove that this will always happen.

• Experimentally, the efficiency of the reduction step appears to be comparable to that of Theorem A.22. In other words the depth of the “reduction tree” associated to a given 1-sharbly u seems to be bounded by a polynomial in log log ∥u∥. Hence computing the Hecke action using this algorithm is extremely efficient.

On the other hand, computing Hecke operators on SL_{4} is still a much bigger computation—relative to the level—than on SL_{2} and SL_{3}. For example, the size of the full retract W modulo Γ_{0}(p) is roughly O(p^{6}), which grows rapidly with p. The portion of the retract corresponding to H^{5} is much smaller, around p^{3}/10, but this still grows quite quickly. This makes computing with p > 100 out of reach at the moment.

The number of Hecke cosets grows rapidly as well, e.g. the number of coset representatives of T (l, 2) is l^{4} + l^{3} + 2l^{2} + l + 1. Hence it is only feasible to compute Hecke operators for small l; for large levels only l = 2 is possible.

Here are some numbers to give an idea of the size of these computations. For level 73, the rank of H^{5} is 20. There are 39504 cells of codimension one and 4128 top-dimensional cells in W modulo Γ_{0}(73). The computational techniques in [AGM02] used at this level (a Lanczos scheme over a large finite field) tend to produce sharbly cycles supported on almost all the cells. Computing T (2, 1) requires a reduction tree of depth 1, and produces as many as 26 reduced 1-sharblies for each of the 15 nonreduced Hecke images. Thus one cycle produces a cycle supported on as many as 15406560 1-sharblies, all of which must be converted to an appropriate cell of W modulo Γ. And this is just what needs to be done for one cycle; don’t forget that the rank of H^{5} is 20.

In practice the numbers are slightly better, since the reduction step produces fewer 1-sharblies on average, and since the support of the initial cycle has size less than 39504. Nevertheless the orders of magnitude are correct.

• Using lifts is a convenient way to encode the global Γ-identifications in the cycle ξ, since it means we don’t have to maintain a big data structure keeping track of the identifications on ∂ξ. However, there is a certain expense in computing the Hermite normal form. This is balanced by the benefit that working with the data Φ associated to ξ allows us to reduce the supporting 1-sharblies u independently. This means we can cheaply parallelize our computation: each 1sharbly, encoded as a 4-tuple (u, n(u), {v}, {M(v)}), can be handled by a separate computer. The results of all these individual computations can then be collated at the end, when producing a W -cocycle.

A.6. Complements and Open Problems

A.6.1. We conclude this appendix by giving some complements and describing some possible directions for future work, both theoretical and computational. Since a full explanation of the material in this section would involve many more pages, we will be brief and will provide many references.

A.6.2. Perfect quadratic forms over number fields and retracts. Since Voronoǐ’s pioneering work [Vor08], it has been the goal of many to extend his results from ℚ to a general algebraic number field F. Recently Coulangeon [Cou01], building on work of Icaza and Baeza [Ica97, BI97], has found a good notion of perfection for quadratic forms over number fields.(^{12}) One of the key ideas in [Cou01] is that the correct notion of equivalence between Humbert forms involves not only the action of GL_{n}(𝒪_{F}), where 𝒪_{F} is the ring of integers of F, but also the action of a certain continuous group U related to the units 𝒪_{F}^{×}. One of Coulangeon’s basic results is that there are finitely many equivalence classes of perfect Humbert forms modulo these actions.

12Such forms are called Humbert forms in the literature.

On the other hand, Ash’s original construction of retracts [Ash77] introduces a geometric notion of perfection. Namely he generalizes the Voronoǐ polyhedron Π, and defines a quadratic form to be perfect if it naturally indexes a facet of Π. What is the connection between these two notions? Can one use Coulangeon’s results to construct cell complexes to be used in cohomology computations? One tempting possibility is to try to use the group U to collapse the Voronoǐ cells of [Ash77] into a cell decomposition of the symmetric space associated to SL_{n}(F).

A.6.3. The modular complex. In his study of multiple ζ-values, Goncharov has recently defined the modular complex M^{∗} [Gon97, Gon98]. This is an n-step complex of GL_{n}(ℤ)-modules closely related both to the properties of multiple polylogarithms evaluated at μ_{N}, the Nth roots of unity, and to the action of G_{ℚ} on π_{1,N} = π_{1}^{l}(ℙ^{1} ∖ {0, ∞, μ_{N}}), the pro-l completion of the algebraic fundamental group of ℙ^{1} ∖ {0, ∞, μ_{N}}.

Remarkably, the modular complex is very closely related to the Voronoǐ decomposition 𝒱 . In fact, one can succinctly describe the modular complex by saying that it is the chain complex of the cells coming from the top-dimensional Voronoǐ cone of type A_{n}. This is all of the Voronoǐ decomposition for n = 2, 3, and Goncharov showed that the modular complex is quasi-isomorphic to the full Voronoǐ complex for n = 4. Hence there is a precise relationship among multiple polylogarithms, the Galois action on π_{1,N}, and the cohomology of level N congruence subgroups of SL_{n}(ℤ).

The question then arises, how much of the cohomology of congruence subgroups is captured by the modular complex for all n? Table A.3.2 indicates that asymptotically very little of the Voronoǐ decomposition comes from the A_{n} cone, but this says nothing about the cohomology. The first interesting case to consider is n = 5.

A.6.4. Retracts for other groups. The most general construction of retracts W known [Ash84] applies only to linear symmetric spaces. The most familiar example of such a space is SL_{n}(ℝ)/ SO(n); other examples are the symmetric spaces associated to SL_{n} over number fields and division algebras.

Now let Γ ⊂ G(ℚ) be an arithmetic group, and let X = G/K be the associated symmetric space. What can one say about cell complexes that can be used to compute H^{∗}(Γ; ℳ)? The theorem of Borel–Serre mentioned in §A.3.3 implies the vanishing of H^{k}(Γ; ℳ) for k > ν := dim X −q, where q is the ℚ-rank of Γ. For example, for the split form of SL_{n}, the ℚ-rank is n−1. For the split symplectic group Sp_{2n}, the ℚ-rank is n. Moreover, this bound is sharp: there will be coefficient modules ℳ for which H^{ν}(Γ; ℳ) ≠ 0. Hence any minimal cell complex used to compute the cohomology of Γ should have dimension ν.

Ideally one would like to see such a complex realized as a subspace of X, and would like to be able to treat all finite-index subgroups of Γ simultaneously. This leads to the following question: is there a Γ-equivariant deformation retraction of X onto a regular cell complex W of dimension ν?

For G = Sp_{4}, McConnell–MacPherson showed that the answer is yes. Their construction begins by realizing the symplectic symmetric space X_{Sp} as a subspace of the special linear symmetric space X_{SL}. They then construct subsets of X_{Sp} by intersecting the Voronoǐ cells in X_{SL} with X_{Sp}. Through explicit computations in coordinates they prove that these intersections are cells, and give a cell decomposition of X_{Sp}. By taking an appropriate dual complex (as suggested by Figures A.3.2 and A.3.3, and as done in [Ash77]) they construct the desired cell complex W.

Other progress has been recently made by Bullock [Bul00], Bullock– Connell [BC06], and Yasaki [Yas05b, Yas05a] in the case of groups of ℚrank 1. In particular, Yasaki uses the tilings of Saper [Sap97] to construct an explicit retract for the unitary group SU(2, 1) over the Gaussian integers. His method also works for Hilbert modular groups, although further refinement may be needed to produce a regular cell complex. Can one generalize these techniques to construct retracts for groups of arbitrary ℚ-rank? Is there an analogue of the Voronoǐ decomposition for these retracts (i.e. a dual cell decomposition of the symmetric space)? If so can one generalize ideas in §§A.4–A.5 and use it to compute the action of the Hecke operators on the cohomology?

A.6.5. Deeper cohomology groups. The algorithm in §A.5 computes the Hecke action on H^{ν−1}(Γ). For n > 4, this group no longer contains cuspidal cohomology classes. Can one generalize this algorithm to compute the Hecke action on deeper cohomology groups? The first practical case is n = 5. Here ν = 10, and the highest degree in which cuspidal cohomology can live is 8. This case is also interesting since the cohomology of full level has been studied [EVGS02].

Here are some indications of what one can expect. The general strategy is the same: for a k-sharbly ξ representing a class in H^{ν−k}(Γ), begin by Γequivariantly choosing reducing points for the nonunimodular submodular symbols of ξ. This data can be packaged into a new k-sharbly cycle as in §A.5.7ff, but the crosspolytopes must be replaced with hypersimplices. By definition, the hypersimplex Δ(n, k) is the convex hull in ℝ^{n} of the points {∑_{i∈I} e_{i}}, where I ranges over all order k subsets of {1, …, n}, and e_{1}, …, e_{n} denotes the standard basis of ℝ^{n}.

The simplest example is n = 2, k = 2. From the point of view of cohomology, this is even less interesting than n = 2, k = 1, since now we’re computing the Hecke action on H^{−1}(Γ)! Nevertheless, the geometry here illustrates what one can expect in general.

Each 2-sharbly in the support of ξ can be written as [v_{1}, v_{2}, v_{3}, v_{4}] and determines 6 submodular symbols, of the form [v_{i}, v_{j}], i ≠ j. Assume for simplicity that all these submodular symbols are nonunimodular. Let w_{ij} be the reducing point for [v_{i}, v_{j}]. Then use the 10 points v_{i}, w_{ij} to label the vertices of the hypersimplex Δ(5, 2) as in Figure A.6.1 (note that Δ(5, 2) is 4-dimensional).

The boundary of this hypersimplex gives the analogue of (A.5.4). Which 2-sharblies will appear in ξ′? The boundary ∂Δ(5, 2) is a union of 5 tetrahedra and 5 octahedra. The outer tetrahedron won’t appear in ξ′, since that is the analogue of the left of (A.5.4). The four octahedra sharing a triangular face with the outer tetrahedron also won’t appear, since they disappear when considering ξ′ modulo Γ. The remaining 4 tetrahedra and the central octahedron survive to ξ′, and constitute the right of the analogue of (A.5.4). Note that we must choose a simplicial subdivision of the central octahedron to write the result as a 2-sharbly cycle, and that this must be done with care since it introduces a new submodular symbol.

If some submodular symbols are unimodular, then again one must consider iterated cones on hypersimplices, just as in §A.5.10. The analogues of these steps become more complicated, since there are now many simplicial subdivisions of a hypersimplex.(^{13}) There is one final complication: in general we cannot use reduced k-sharblies alone to represent cohomology classes. Thus one must terminate the algorithm when ∥ξ∥ is less than some predetermined bound.

A.6.6. Other linear groups. Let F be a number field, and let G = R_{F/ℚ}(SL_{n}) (Example A.2). Let Γ ⊂ G(ℚ) be an arithmetic subgroup. Can one compute the action of the Hecke operators on H^{∗}(Γ)?

There are two completely different approaches to this problem. The first involves the generalization of the modular symbol method. One can define the analogue of the Sharbly complex, and can try to extend the techniques of §§A.4–A.5.

This technique has been extensively used when F is imaginary quadratic and n = 2. We have X = SL_{2}(ℂ)/ SU(2), which is isomorphic to threedimensional hyperbolic space 𝔥_{3}. The arithmetic groups Γ ⊂ SL_{2}(𝒪_{F}) are known as Bianchi groups. The retracts and cohomology of these groups PSfrag replacements

13Indeed, computing all simplicial subdivisions of Δ(n, k) is a difficult problem in convex geometry.

v_{1}

v_{2}
v_{3}
v_{4}
w_{12}
w_{13}
w_{14}
w_{23}
w_{24}
w_{34}

Figure A.6.1.

have been well-studied; as a representative sample of works we mention [Men79, EGM98, Vog85, GS81]

Such groups have ℚ-rank 1, and thus have cohomological dimension 2. One can show that the cuspidal classes live in degrees 1 and 2. This means that we can use modular symbols to investigate the Hecke action on cuspidal cohomology. This was done by Cremona [Cre84] for euclidean fields F. In that case Theorem A.22 works with no trouble (the euclidean algorithm is needed to construct reducing points). For non-euclidean fields further work has been done by Whitley [Whi90], Cremona–Whitely [CW94] (both for principal ideal domains), Bygott [Byg99] (for F = ℚ(\sqrt{−5}) and any field with class group an elementary abelian 2-group), and Lingham [Lin05] (any field with odd class number). Putting all these ideas together allows one to generalize the modular symbol method to any imaginary quadratic field [Cre].

For F imaginary quadratic and n > 2, very little has been studied. The only related work to the best of our knowledge is that of Staffeldt [Sta79]. He determined the structure of the Voronoǐ polyhedron in detail for R_{F/ℚ}(SL_{3}), where F = ℚ(\sqrt{−1}). We have dim X = 8 and ν = 6. The cuspidal cohomology appears in degrees 3, 4, 5, so one could try to use the techniques of §A.5 to investigate it.

Similar remarks apply to F real quadratic and n = 2. The symmetric space X ≃ 𝔥 × 𝔥 has dimension 4 and the ℚ-rank is 1, which means ν = 3. Unfortunately the cuspidal cohomology appears only in degree 2, which means modular symbols can’t see it. On the other hand, 1-sharblies can see it, and so one can try to use ideas in §A.5 here to compute the Hecke operators. The data needed to build the retract W already (essentially) appears in the literature for certain fields, see for example [Ong86].

The second approach shifts the emphasis from modular symbols and the sharbly complex to the Voronoǐ fan and its cones. For this approach we must assume that the group Γ is associated to a self-adjoint homogeneous cone over ℚ. (cf. [Ash77]). This class of groups includes arithmetic subgroups of R_{F/ℚ}(SL_{n}), where F is a totally real or CM field. Such groups have all the nice structures in §A.3.2. For example, we have a cone C with a Gaction. We also have an analogue of the Voronoǐ polyhedron Π. There is a natural compactification C̃ of C obtained by adjoining certain self-adjoint homogeneous cones of lower rank. The quotient Γ\C̃ is singular in general, but can still be used to compute H^{∗}(Γ; ℂ). The polyhedron Π can be used to construct a fan 𝒱 that gives a Γ-equivariant decomposition of all of C̃. But the most important structure we have is the Voronoǐ reduction algorithm: given any point x ∈ C̃, we can determine the unique Voronoǐ cone containing x.

Here is how this setup can be used to compute the Hecke action. Full details are in [Gun99, GM03]. We define two chain complexes C_{∗}^{V} and C_{∗}^{R}. The latter is essentially the chain complex generated by all simplicial rational polyhedral cones in C̃; the former is the subcomplex generated by the Voronoǐ cones. These are the analogues of the sharbly complex and the chain complex associated to the retract W, and one can show that either can be used to compute H^{∗}(Γ; ℂ). Take a cycle ξ ∈ C_{∗}^{V} representing a cohomology class in H^{∗}(Γ; ℂ) and act on it by a Hecke operator T. We have T (ξ) ∈ C_{∗}^{R}, and we must push T (ξ) back to C_{∗}^{V}.

To do this, we use the linear structure on C̃ to subdivide T (ξ) very finely into a chain ξ′. For each 1-cone τ in supp ξ′, we choose a 1-cone ρ_{τ} ∈ C̃ ∖ C and assemble them using the combinatorics of ξ′ into a polyhedral chain ξ′′ homologous to ξ′. Under certain conditions involved in the construction of ξ′, this chain ξ′′ will lie in C_{∗}^{V}.

We illustrate this process for the split group SL_{2}; more details can be found in [Gun99]. We work modulo homotheties, so that the threedimensional cone C̃ becomes the extended upper halfplane 𝔥^{∗} := 𝔥∪ℚ∪{∞}, with ∂C̃ passing to the cusps 𝔥^{∗} ∖ 𝔥. As usual top-dimensional Voronoǐ cones become the triangles of the Farey tessellation, and the cones ρ_{τ} become cusps. Given any x ∈ 𝔥, let R(x) be the set of cusps of the unique triangle or edge containing x (this can be computed using the Voronoǐ reduction algorithm). Extend R to a function on 𝔥^{∗} by putting R(u) = {u} for any cusp u.

In 𝔥, the support of T (ξ) becomes a geodesic μ between two cusps u, u′, in other words the support of a modular symbol [u, u′] (Figure A.6.2). Subdivide μ by choosing points x_{0}, …, x_{n} such that x_{0} = u, x_{n} = u′, and R(x_{i}) ∩ R(x_{i+1}) ≠ ∅. (This is easily done, for example by repeatedly barycentrically subdividing μ). For each i < n choose a cusp q_{i} ∈ R(x_{i}) ∩ R(x_{i+1}), and put q_{n} = u′. Then we have a relation in H^{1}

(A.6.1)  [u, u′] = [q_{0}, q_{1}] + ⋯ + [q_{n−1}, q_{n}].

Moreover, each [q_{i}, q_{i+1}] is unimodular, since q_{i} and q_{i+1} are both vertices of a triangle containing x_{i+1}. Upon lifting (A.6.1) back to C_{∗}^{R}, the cusps q_{i} become the 1-cones ρ_{τ}, and give us a relation T (ξ) = ξ′′ ∈ C_{∗}^{V}.

PSfrag replacements

μ
u
u′

Figure A.6.2. A subdivision of μ; the solid dots are the x_{i}. Since the x_{i} lie in the same or adjacent Voronoǐ cells, we can assign cusps to them to construct a homology to a cycle in C_{∗}^{V}.

A.6.7. The sharbly complex for general groups. In [Gun00b] we generalized Theorem A.22 (without the complexity statement) to the symplectic group Sp_{2n}. Using this algorithm and the symplectic retract [MM93, MM89] one can compute the action of the Hecke operators on the top degree cohomology of subgroups of Sp_{4}(ℤ).

More recently, Toth has investigated modular symbols for other groups. He showed that the unimodular symbols generate the top degree cohomology groups for Γ an arithmetic subgroup of a split classical group or a split group of type E_{6} or E_{7} [Tot05]. His technique of proof is completely different from that of [Gun00b]. In particular he doesn’t give an analogue of the Manin trick. Can one extract an algorithm from Toth’s proof that can be used to explicitly compute the action of the Hecke operators on cohomology?

The proof of the main result of [Gun00b] uses a description of the relations among the modular symbols. These relations were motivated by the structure of the cell complex in [MM93, MM89]. The modular symbols and these relations are analogues of the groups S_{0} and S_{1} in the sharbly complex. Can one extend these combinatorial constructions to form a symplectic sharbly complex? What about for general groups G?

Already for Sp_{4} resolution of this question would have immediate arithmetic applications. Indeed, Harder has a beautiful conjecture about certain congruences between holomorphic modular forms and Siegel modular forms of full level [Hara]. Examples of these congruences were checked numerically in [Hara] using techniques of [FvdG] to compute the Hecke action.

However to investigate higher levels one needs a different technique. The relevant cohomology classes live in H^{ν−1}(Γ; ℳ), so one only needs to understand the first three terms of the complex S_{0} ← S_{1} ← S_{2}. We understand S_{0}, S_{1} from [Gun00b]; the key is understanding S_{2}, which should encode relations among elements of S_{1}. If one could do this, and then could generalize the techniques of [Gun00a], one would have a way to investigate Harder’s conjecture.

A.6.8. Generalized modular symbols. We conclude this appendix by discussing a geometric approach to modular symbols. This complements the algebraic approaches presented in this book, and leads to many new interesting phenomena and problems.

Suppose H and G are connected semisimple algebraic groups over ℚ with an injective map f: H → G. Let K_{H} be a maximal compact subgroup of H = H(ℝ), and suppose K ⊂ G is a maximal compact subgroup containing f(K_{H}). Let X = G/K and Y = H/K_{H}.

Now let Γ ⊂ G(ℚ) be a torsion-free arithmetic subgroup. Let Γ_{H} = f^{−1}(Γ). We get a map Γ_{H}\Y → Γ\X, and we denote the image by S(H, Γ). Any compactly supported cohomology class ξ ∈ H_{c}^{dim Y} (Γ\X; ℂ) can be pulled back via f to Γ_{H}\Y and integrated to obtain a complex number. Hence S(H, Γ) defines a linear form on H_{c}^{dim Y} (Γ\X; ℂ). By Poincaré duality, this linear form determines a class [S(H, Γ)] ∈ H^{dim X−dim Y} (Γ\X; ℂ), called a generalized modular symbol. Such classes have been considered by many authors, for example [AB90, SV03, Har05, AGR93]

As an example, we can take G to be the split form of SL_{2}, and can take f: H → G to be the inclusion of connected component of the diagonal subgroup. Hence H ≃ ℝ_{>0}. In this case K_{H} is trivial. The image of Y in X is the ideal geodesic from 0 to ∞. One way to vary f is by taking an SL_{2}(ℚ)-translate of this geodesic, which gives a geodesic between two cusps. Hence we can obtain the support of any modular symbol this way. This example generalizes to SL_{n} to yield the modular symbols in §A.4. Here H ≃ (ℝ > 0)^{n−1}. Note that dim Y = n − 1, so the cohomology classes we’re constructed live in the top degree H^{ν}(Γ\X; ℂ).

Another family of examples is provided by taking H to be a Levi factor of a parabolic subgroup; these are the modular symbols studied in [AB90].

There are many natural questions to study for such objects. Here are two:

• Under what conditions on G, H, Γ is [S(H, Γ)] nonzero? This question is connected to relations between periods of automorphic forms and functoriality lifting. There are a variety of partial results known, see for example [SV03, AGR93].

• We know the usual modular symbols span the top-degree cohomology for any arithmetic group Γ. Fix a class of generalized modular symbols by fixing the pair G, H and fixing some class of maps f. How much of the cohomology can one span for a general arithmetic group Γ ⊂ G(ℚ)?

A simple example is given by the Ash–Borel construction for G = SL_{3} and H a Levi factor of a rational parabolic subgroup P of type (2, 1). In this case H ≃ SL_{2}(ℝ) × ℝ_{>0}, and sits inside G via

g ( \begin{matrix}α^{−1}M & 0 \\ 0 & α \end{matrix} ) g^{−1}, M ∈ SL_{2}(ℝ), α ∈ ℝ_{>0}, g ∈ SL_{3}(ℚ).

For Γ ⊂ SL_{3}(ℤ) these symbols define a subspace

S_{(2,1)} ⊂ H^{2}(Γ\X; ℂ).

Are there Γ for which S_{(2,1)} equals the full cohomology space? For general Γ how much is captured? Is there a nice combinatorial way to write down the relations among these classes? Can one cook up a generalization of Theorem A.22 for these classes and use it to compute Hecke eigenvalues?

Bibliography

[AB90] A. Ash and A. Borel, Generalized modular symbols, Cohomology of arithmetic groups and automorphic forms (Luminy-Marseille, 1989), Springer, Berlin, 1990, pp. 57–75.

[ADT04] Nadia Ben Atti and Gema M. Díaz-Toca, http://hlombardi.free.fr/

publis/ABMAvar.html (2004).

[AG00] Avner Ash and Robert Gross, Generalized non-abelian reciprocity laws: a context for Wiles’ proof, Bull. London Math. Soc. 32 (2000), no. 4, 385– 397. MR 1760802 (2001h:11142)

[Aga00] A. Agashe, The Birch and Swinnerton-Dyer formula for modular abelian varieties of analytic rank 0, Ph.D. thesis, University of California, Berkeley (2000).

[AGG84] Avner Ash, Daniel Grayson, and Philip Green, Computations of cuspidal cohomology of congruence subgroups of SL(3, Z), J. Number Theory 19 (1984), no. 3, 412–436. MR 769792 (86g:11032)

[AGM] Avner Ash, Paul E. Gunnells, and Mark McConnell, Cohomology of congruence subgroups of SL_{4}(ℤ) II, in preparation.

[AGM02] , Cohomology of congruence subgroups of SL_{4}(ℤ), J. Number Theory 94 (2002), no. 1, 181–212. MR 1904968 (2003f:11072)

[AGR93] Avner Ash, David Ginzburg, and Steven Rallis, Vanishing periods of cusp forms over modular symbols, Math. Ann. 296 (1993), no. 4, 709–723. MR 1233493 (94f:11044)

[Ahl78] Lars V. Ahlfors, Complex analysis, third ed., McGraw-Hill Book Co., New York, 1978, An introduction to the theory of analytic functions of one complex variable, International Series in Pure and Applied Mathematics. MR 510197 (80c:30001)

[AL70] A. O. L. Atkin and J. Lehner, Hecke operators on Γ_{0}(m), Math. Ann. 185 (1970), 134–160.

[AO01] Scott Ahlgren and Ken Ono, Addition and counting: the arithmetic of partitions, Notices Amer. Math. Soc. 48 (2001), no. 9, 978–984. MR 1854533 (2002e:11136)

[AR79] Avner Ash and Lee Rudolph, The modular symbol and continued fractions in higher dimensions, Invent. Math. 55 (1979), no. 3, 241–250. MR 553998 (82g:12011)

[Art79] James Arthur, Eisenstein series and the trace formula, Automorphic forms, representations and L-functions (Proc. Sympos. Pure Math., Oregon State Univ., Corvallis, Ore., 1977), Part 1, Proc. Sympos. Pure Math., XXXIII, Amer. Math. Soc., Providence, R.I., 1979, pp. 253–274. MR 546601 (81b:10020)

[Ash77] Avner Ash, Deformation retracts with lowest possible dimension of arithmetic quotients of self-adjoint homogeneous cones, Math. Ann. 225 (1977), no. 1, 69–76. MR 0427490 (55 #522)

[Ash80] , Cohomology of congruence subgroups SL(n, ℤ), Math. Ann. 249 (1980), no. 1, 55–73. MR 82f:22010

[Ash84] , Small-dimensional classifying spaces for arithmetic subgroups of general linear groups, Duke Math. J. 51 (1984), no. 2, 459–468. MR 747876 (85k:22027)

[Ash86] , A note on minimal modular symbols, Proc. Amer. Math. Soc. 96 (1986), no. 3, 394–396. MR 822426 (87e:22024)

[Ash94] , Unstable cohomology of SL(n, O), J. Algebra 167 (1994), no. 2, 330–342. MR 1283290 (95g:20050)

[Bar57] E. S. Barnes, The perfect and extreme senary forms, Canad. J. Math. 9 (1957), 235–242. MR 0086834 (19,251e)

[Bar94] A. Barvinok, A polynomial time algorithm for counting integral points in polyhedra when the dimension is fixed, Math. Oper. Res. 19 (1994), no. 4, 769–779.

[Bas96] Jacques Basmaji, Ein Algorithmus zur Berechnung von Hecke-Operatoren und Anwendungen auf modulare Kurven,

http://modular.math.washington.edu/scans/papers/basmaji/, 1996.

[BC06] S. S. Bullock and C. Connell, Equivariant retracts of geometrically finite discrete groups acting on negatively pinched Hadamard manifolds, in preparation, 2006.

[BCDT01] C. Breuil, B. Conrad, Fred Diamond, and R. Taylor, On the modularity of elliptic curves over Q: wild 3-adic exercises, J. Amer. Math. Soc. 14 (2001), no. 4, 843–939 (electronic). MR 2002d:11058

[BCP97] W. Bosma, J. Cannon, and C. Playoust, The Magma algebra system. I. The user language, J. Symbolic Comput. 24 (1997), no. 3–4, 235–265, Computational algebra and number theory (London, 1993). MR 1 484 478

[BCS92a] J. P. Buhler, R. E. Crandall, and R. W. Sompolski, Irregular primes to one million, Math. Comp. 59 (1992), no. 200, 717–722. MR 1134717 (93a:11106)

[BCS92b] , Irregular primes to one million, Math. Comp. 59 (1992), no. 200, 717–722. MR 1134717 (93a:11106)

[BHKS06] K. Belebas, M. Van Hoeij, J. Kluners, and A. Steel, Factoring polynomials over global fields, Preprint at

http://www.math.fsu.edu/~hoeij/papers.html (2006).

[BI97] R. Baeza and M. I. Icaza, On Humbert-Minkowski’s constant for a number field, Proc. Amer. Math. Soc. 125 (1997), no. 11, 3195–3202. MR 1403112 (97m:11092)

[Bir71] B. J. Birch, Elliptic curves over Q: A progress report, 1969 Number Theory Institute (Proc. Sympos. Pure Math., Vol. XX, State Univ. New York, Stony Brook, N.Y., 1969), Amer. Math. Soc., Providence, R.I., 1971, pp. 396–400.

[BK90] S. Bloch and K. Kato, L-functions and Tamagawa numbers of motives, The Grothendieck Festschrift, Vol. I, Birkhäuser Boston, Boston, MA, 1990, pp. 333–400.

[BMS06] Yann Bugeaud, Maurice Mignotte, and Samir Siksek, Classical and modular approaches to exponential Diophantine equations. II. The Lebesgue-Nagell equation, Compos. Math. 142 (2006), no. 1, 31–62. MR 2196761

[Bro94] Kenneth S. Brown, Cohomology of groups, Graduate Texts in Mathematics, vol. 87, Springer-Verlag, New York, 1994, Corrected reprint of the 1982 original. MR 1324339 (96a:20072)

[BS73] A. Borel and J.-P. Serre, Corners and arithmetic groups, Comment. Math. Helv. 48 (1973), 436–491, Avec un appendice: Arrondissement des variétés à coins, par A. Douady et L. Hérault. MR 0387495 (52 #8337)

[BS02] K. Buzzard and W. A. Stein, A mod five approach to modularity of icosahedral Galois representations, Pacific J. Math. 203 (2002), no. 2, 265–282. MR 2003c:11052

[BT82] Raoul Bott and Loring W. Tu, Differential forms in algebraic topology, Graduate Texts in Mathematics, vol. 82, Springer-Verlag, New York, 1982. MR 658304 (83i:57016)

[Bul00] S. S. Bullock, Well-rounded retracts of rank one symmetric spaces, preprint, 2000.

[Bum84] Daniel Bump, Automorphic forms on GL(3, R), Lecture Notes in Mathematics, vol. 1083, Springer-Verlag, Berlin, 1984. MR 765698 (86g:11028)

[Bum97] , Automorphic forms and representations, Cambridge Studies in Advanced Mathematics, vol. 55, Cambridge University Press, Cambridge, 1997. MR 1431508 (97k:11080)

[Buz96] Kevin Buzzard, On the eigenvalues of the Hecke operator T_{2}, J. Number Theory 57 (1996), no. 1, 130–132. MR 96m:11033

[BW00] A. Borel and N. Wallach, Continuous cohomology, discrete subgroups, and representations of reductive groups, second ed., Mathematical Surveys and Monographs, vol. 67, American Mathematical Society, Providence, RI, 2000. MR 1721403 (2000j:22015)

[Byg99] J. Bygott, Modular forms and modular symbols over imaginary quadratic fields, Ph.D. thesis, Exeter University, 1999.

[Car59a] L. Carlitz, Arithmetic properties of generalized Bernoulli numbers, J. Reine Angew. Math. 202 (1959), 174–182. MR 0109132 (22 #20)

[Car59b] , Some arithmetic properties of generalized Bernoulli numbers, Bull. Amer. Math. Soc. 65 (1959), 68–69. MR 0104630 (21 #3383)

[CDT99] Brian Conrad, Fred Diamond, and Richard Taylor, Modularity of certain potentially Barsotti-Tate Galois representations, J. Amer. Math. Soc. 12 (1999), no. 2, 521–567. MR 1639612 (99i:11037)

[CF67] George E. Cooke and Ross L. Finney, Homology of cell complexes, Based on lectures by Norman E. Steenrod, Princeton University Press, Princeton, N.J., 1967. MR 0219059 (36 #2142)

[Che05] Imin Chen, A Diophantine equation associated to X_{0}(5), LMS J. Comput. Math. 8 (2005), 116–121 (electronic). MR 2153792 (2006b:11052)

[CL04] J. Cremona and M. P. Lingham, Finding all elliptic curves with good reduction outside a given set of primes, In Progress (2004).

[CO77] H. Cohen and J. Oesterlé, Dimensions des espaces de formes modulaires, 69–78. Lecture Notes in Math., Vol. 627. MR 57 #12396

[Coh93] H. Cohen, A course in computational algebraic number theory, Springer-Verlag, Berlin, 1993. MR 94i:11105

[Cou01] Renaud Coulangeon, Voronoï theory over algebraic number fields, Réseaux euclidiens, designs sphériques et formes modulaires, Monogr. Enseign. Math., vol. 37, Enseignement Math., Geneva, 2001, pp. 147–162. MR 1878749 (2002m:11064)

[Cre] J. E. Cremona, personal communication.

[Cre84] , Hyperbolic tessellations, modular symbols, and elliptic curves over complex quadratic fields, Compositio Math. 51 (1984), no. 3, 275–324.

[Cre92] , Modular symbols for Γ_{1}(N) and elliptic curves with everywhere good reduction, Math. Proc. Cambridge Philos. Soc. 111 (1992), no. 2, 199–218.

[Cre97a] , Algorithms for modular elliptic curves, second ed., Cambridge University Press, Cambridge, 1997,

http://www.maths.nott.ac.uk/personal/jec/book/.

[Cre97b] , Computing periods of cusp forms and modular elliptic curves, Experiment. Math. 6 (1997), no. 2, 97–107.

[Cre06] , Proceedings of the 7th International Symposium (ANTS-VII) (2006).

[CS88] J. H. Conway and N. J. A. Sloane, Low-dimensional lattices. III. Perfect forms, Proc. Roy. Soc. London Ser. A 418 (1988), no. 1854, 43–80. MR 953277 (90a:11073)

[CW94] J. E. Cremona and E. Whitley, Periods of cusp forms and elliptic curves over imaginary quadratic fields, Math. Comp. 62 (1994), no. 205, 407–429.

[CWZ01] Janos A. Csirik, Joseph L. Wetherell, and Michael E. Zieve, On the genera

of X_{0}(N), See http://www.csirik.net/papers.html (2001).

[Dar97] H. Darmon, Faltings plus epsilon, Wiles plus epsilon, and the generalized Fermat equation, C. R. Math. Rep. Acad. Sci. Canada 19 (1997), no. 1, 3–14. MR 1479291 (98h:11034a)

[Dem04] L. Dembélé, Quaternionic Manin symbols, Brandt matrices and Hilbert modular forms , preprint, 2004.

[Dem05] L. Dembélé, Explicit computations of Hilbert modular forms on ℚ(\sqrt{5}), Experiment. Math. 14 (2005), no. 4, 457–466. MR 2193808

[DI95] F. Diamond and J. Im, Modular forms and modular curves, Seminar on Fermat’s Last Theorem, Providence, RI, 1995, pp. 39–133.

[Dia96] F. Diamond, On deformation rings and Hecke rings, Ann. of Math. (2) 144 (1996), no. 1, 137–166. MR 1405946 (97d:11172)

[Dix82] John D. Dixon, Exact solution of linear equations using p-adic expansions, Numer. Math. 40 (1982), no. 1, 137–141. MR 681819 (83m:65025)

[Dok04] Tim Dokchitser, Computing special values of motivic L-functions, Experiment. Math. 13 (2004), no. 2, 137–149.

[DP04] H. Darmon and R. Pollack, The efficient calculation of Stark-Heegner points via overconvergent modular symbols.

[DS05] Fred Diamond and Jerry Shurman, A first course in modular forms, Graduate Texts in Mathematics, vol. 228, Springer-Verlag, New York, 2005. MR MR2112196 (2006f:11045)

[DVS05] M. Dutour, F. Vallentin, and A. Schürmann, Classification of perfect forms in dimension 8, talk at Oberwolfach meeting Sphere packings: Exceptional structures and relations to other fields, November 2005.

[Ebe02] Wolfgang Ebeling, Lattices and codes, revised ed., Advanced Lectures in Mathematics, Friedr. Vieweg & Sohn, Braunschweig, 2002, A course partially based on lectures by F. Hirzebruch.

[ECdJ^{+}06] Bas Edixhoven, Jean-Marc Couveignes, Robin de Jong, Franz Merkl, and Johan Bosman, On the computation of coefficients of modular form,

http://www.arxiv.org/abs/math.NT/0605244 (2006).

[EGM98] J. Elstrodt, F. Grunewald, and J. Mennicke, Groups acting on hyperbolic space, Springer Monographs in Mathematics, Springer-Verlag, Berlin, 1998, Harmonic analysis and number theory. MR 1483315 (98g:11058)

[Eil47] Samuel Eilenberg, Homology of spaces with operators. I, Trans. Amer. Math. Soc. 61 (1947), 378–417; errata, 62, 548 (1947). MR 0021313 (9,52b)

[Elk98] Noam D. Elkies, Elliptic and modular curves over finite fields and related computational issues, Computational perspectives on number theory (Chicago, IL, 1995), AMS/IP Stud. Adv. Math., vol. 7, Amer. Math. Soc., Providence, RI, 1998, pp. 21–76. MR 1486831 (99a:11078)

[EVGS02] Philippe Elbaz-Vincent, Herbert Gangl, and Christophe Soulé, Quelques calculs de la cohomologie de GL_{N}(ℤ) et de la K-théorie de ℤ, C. R. Math. Acad. Sci. Paris 335 (2002), no. 4, 321–324. MR 1931508 (2003h:19002)

[FH91] William Fulton and Joe Harris, Representation theory, Graduate Texts in Mathematics, vol. 129, Springer-Verlag, New York, 1991, A first course, Readings in Mathematics. MR 1153249 (93a:20069)

[FJ02] D. W. Farmer and K. James, The irreducibility of some level 1 Hecke polynomials, Math. Comp. 71 (2002), no. 239, 1263–1270 (electronic). MR 2003e:11046

[FL] D. W. Farmer and Stefan Lemurell, Maass forms and their L-functions, AIM 2005-15, arXiv:math.NT/0506102.

[FM99] G. Frey and M. Müller, Arithmetic of modular curves and applications, Algorithmic algebra and number theory (Heidelberg, 1997), Springer, Berlin, 1999, pp. 11–48.

[Fra98] J. Franke, Harmonic analysis in weighted L_{2}-spaces, Ann. Sci. École Norm. Sup. (4) 31 (1998), no. 2, 181–279.

[FT93] A. Fröhlich and M. J. Taylor, Algebraic number theory, Cambridge University Press, Cambridge, 1993.

[FvdG] C. Faber and G. van der Geer, Sur la cohomologie des Systémes Locaux sur les Espaces des Modules des Courbes de Genus 2 and des Surfaces Abéliennes, arXiv:math.AG/0305094.

[Gel75] Stephen S. Gelbart, Automorphic forms on adèle groups, Princeton University Press, Princeton, N.J., 1975, Annals of Mathematics Studies, No.

83. MR 0379375 (52 #280)

[GH81] M. J. Greenberg and J. R. Harper, Algebraic topology, Benjamin/Cummings Publishing Co. Inc. Advanced Book Program, Reading, Mass., 1981, A first course. MR 83b:55001

[GLQ04] Josep González, Joan-Carles Lario, and Jordi Quer, Arithmetic of ℚcurves, Modular curves and abelian varieties, Progr. Math., vol. 224, Birkhäuser, Basel, 2004, pp. 125–139. MR 2058647 (2005c:11068)

[GM03] P. E. Gunnells and M. McConnell, Hecke operators and ℚ-groups associated to self-adjoint homogeneous cones, J. Number Theory 100 (2003), no. 1, 46–71.

[Gol05] Dorian Goldfeld, Automorphic forms and L-functions on the general linear group, to appear, 2005.

[Gon97] A. B. Goncharov, The double logarithm and Manin’s complex for modular curves, Math. Res. Lett. 4 (1997), no. 5, 617–636.

[Gon98] , Multiple polylogarithms, cyclotomy and modular complexes, Math. Res. Lett. 5 (1998), no. 4, 497–516.

[Gor93] D. Gordon, Discrete logarithms in GF(p) using the number field sieve, SIAM J. Discrete Math. 6 (1993), no. 1, 124–138. MR 94d:11104

[Gor04] , Discrete logarithm problem,

http://www.win.tue.nl/~henkvt/content.html.

[GP05] Benedict H. Gross and David Pollack, On the Euler characteristic of the discrete spectrum, J. Number Theory 110 (2005), no. 1, 136–163. MR 2114678 (2005k:11100)

[Gre83] Ralph Greenberg, On the Birch and Swinnerton-Dyer conjecture, Invent. Math. 72 (1983), no. 2, 241–265. MR 700770 (85c:11052)

[Gri05] G. Grigorov, Kato’s Euler System and the Main Conjecture, Harvard Ph.D. Thesis (2005).

[Gro98] Benedict H. Gross, On the Satake isomorphism, Galois representations in arithmetic algebraic geometry (Durham, 1996), London Math. Soc. Lecture Note Ser., vol. 254, Cambridge Univ. Press, Cambridge, 1998, pp. 223–237. MR 1696481 (2000e:22008)

[GS81] F. Grunewald and J. Schwermer, A nonvanishing theorem for the cuspidal cohomology of SL_{2} over i maginary quadratic integers, Math. Ann. 258 (1981), 183–200.

[GS02] Mark Giesbrecht and Arne Storjohann, Computing rational forms of integer matrices, J. Symbolic Comput. 34 (2002), no. 3, 157–172. MR 1935075 (2003j:15016)

[Gun99] P. E. Gunnells, Modular symbols for ℚ-rank one groups and Voronoĭ reduction, J. Number Theory 75 (1999), no. 2, 198–219.

[Gun00a] , Computing Hecke eigenvalues below the cohomological dimension, Experiment. Math. 9 (2000), no. 3, 351–367. MR 1 795 307

[Gun00b] , Symplectic modular symbols, Duke Math. J. 102 (2000), no. 2, 329–350.

[Hara] G. Harder, Congruences between modular forms of genus 1 and of genus 2, Arbeitstagung.

[Harb] , Kohomologie arithmetischer Gruppen, lecture notes, Universität Bonn, 1987–8.

[Har87] , Eisenstein cohomology of arithmetic groups. The case GL_{2}, Invent. Math. 89 (1987), no. 1, 37–118. MR 892187 (89b:22018)

[Har91] , Eisenstein cohomology of arithmetic groups and its applications to number theory, Proceedings of the International Congress of Mathematicians, Vol. I, II (Kyoto, 1990) (Tokyo), Math. Soc. Japan, 1991, pp. 779– 790. MR 1159264 (93b:11057)

[Har05] , Modular symbols and special values of automorphic L-functions, preprint, 2005.

[HC68] Harish-Chandra, Automorphic forms on semisimple Lie groups, Notes by J. G. M. Mars. Lecture Notes in Mathematics, No. 62, Springer-Verlag, Berlin, 1968. MR 0232893 (38 #1216)

[Hel01] Sigurdur Helgason, Differential geometry, Lie groups, and symmetric spaces, Graduate Studies in Mathematics, vol. 34, American Mathematical Society, Providence, RI, 2001, Corrected reprint of the 1978 original. MR 1834454 (2002b:53081)

[Hij74] H. Hijikata, Explicit formula of the traces of Hecke operators for Γ_{0}(N), J. Math. Soc. Japan 26 (1974), no. 1, 56–82.

[Hsu96] Tim Hsu, Identifying congruence subgroups of the modular group, Proc. Amer. Math. Soc. 124 (1996), no. 5, 1351–1359. MR 1343700 (96k:20100)

[HT01] Michael Harris and Richard Taylor, The geometry and cohomology of some simple Shimura varieties, Annals of Mathematics Studies, vol. 151, Princeton University Press, Princeton, NJ, 2001, With an appendix by Vladimir G. Berkovich. MR 1876802 (2002m:11050)

[Hum80] James E. Humphreys, Arithmetic groups, Lecture Notes in Mathematics, vol. 789, Springer, Berlin, 1980. MR 584623 (82j:10041)

[Ica97] M. I. Icaza, Hermite constant and extreme forms for algebraic number fields, J. London Math. Soc. (2) 55 (1997), no. 1, 11–22. MR 1423282 (97j:11034)

[Jaq91] David-Olivier Jaquet, Classification des réseaux dans R^{7} (via la notion de formes parfaites), Astérisque (1991), no. 198-200, 7–8, 177–185 (1992), Journées Arithmétiques, 1989 (Luminy, 1989). MR 1144322 (93g:11071)

[JBS03] A. Jorza, J. Balakrishna, and W. Stein, The Smallest Conductor for an Elliptic Curve of Rank Four is Composite,

http://modular.math.washington.edu/rank4/.

[JC93] David-Olivier Jaquet-Chiffelle, Énumération complète des classes de formes parfaites en dimension 7, Ann. Inst. Fourier (Grenoble) 43 (1993), no. 1, 21–55. MR 1209694 (94d:11048)

[Kan00] Masanobu Kaneko, The Akiyama-Tanigawa algorithm for Bernoulli numbers, J. Integer Seq. 3 (2000), no. 2, Article 00.2.9, 6 pp. (electronic). MR 1800883 (2001k:11026)

[Kel06] Bernd C. Kellner, Bernoulli numbers, http://www.bernoulli.org (2006).

[Kna92] A. W. Knapp, Elliptic curves, Princeton University Press, Princeton, NJ, 1992.

[Knu] Donald E. Knuth, The art of computer programming. Vol. 2, third ed., Addison-Wesley Publishing Co., Reading, Mass., Seminumerical algorithms, Addison-Wesley Series in Computer Science and Information Processing.

[Kob84] N. Koblitz, Introduction to elliptic curves and modular forms, Graduate Texts in Mathematics, vol. 97, Springer-Verlag, New York, 1984. MR 86c:11040

[Kri90] Aloys Krieg, Hecke algebras, Mem. Amer. Math. Soc. 87 (1990), no. 435, x+158. MR 1027069 (90m:16024)

[Laf02] Laurent Lafforgue, Chtoucas de Drinfeld et correspondance de Langlands, Invent. Math. 147 (2002), no. 1, 1–241. MR 1875184 (2002m:11039)

[Lan66] R. P. Langlands, Eisenstein series, Algebraic Groups and Discontinuous Subgroups (Proc. Sympos. Pure Math., Boulder, Colo., 1965), Amer. Math. Soc., Providence, R.I., 1966, pp. 235–252. MR 0249539 (40 #2784)

[Lan76] Robert P. Langlands, On the functional equations satisfied by Eisenstein series, Springer-Verlag, Berlin, 1976, Lecture Notes in Mathematics, Vol.

544. MR 0579181 (58 #28319)

[Lan95] S. Lang, Introduction to modular forms, Springer-Verlag, Berlin, 1995, With appendixes by D. Zagier and W. Feit, Corrected reprint of the 1976 original.

[Lem01] Dominic Lemelin, Mazur-tate type conjectures for elliptic curves defined over quadratic imaginary fields.

[Leo58] Heinrich-Wolfgang Leopoldt, Eine Verallgemeinerung der Bernoullischen Zahlen, Abh. Math. Sem. Univ. Hamburg 22 (1958), 131–140. MR 0092812 (19,1161e)

[Li75] W-C. Li, Newforms and functional equations, Math. Ann. 212 (1975), 285–315.

[Lin05] M. Lingham, Modular forms and elliptic curves over imaginary quadratic fields, Ph.D. thesis, Nottingham, 2005.

[LLL82] A. K. Lenstra, H. W. Lenstra, Jr., and L. Lovász, Factoring polynomials with rational coefficients, Math. Ann. 261 (1982), no. 4, 515–534. MR 682664 (84a:12002)

[LS76] Ronnie Lee and R. H. Szczarba, On the homology and cohomology of congruence subgroups, Invent. Math. 33 (1976), no. 1, 15–53. MR 0422498 (54 #10485)

[LS90] J.-P. Labesse and J. Schwermer (eds.), Cohomology of arithmetic groups and automorphic forms, Lecture Notes in Mathematics, vol. 1447, Berlin, Springer-Verlag, 1990. MR 1082959 (91h:11033)

[LS02] Joan-C. Lario and René Schoof, Some computations with Hecke rings and deformation rings, Experiment. Math. 11 (2002), no. 2, 303–311, With an appendix by Amod Agashe and William Stein. MR 1959271 (2004b:11072)

[LS04] Jian-Shu Li and Joachim Schwermer, On the Eisenstein cohomology of arithmetic groups, Duke Math. J. 123 (2004), no. 1, 141–169. MR 2060025 (2005h:11108)

[Lub94] A. Lubotzky, Discrete groups, expanding graphs and invariant measures, Progress in Mathematics, vol. 125, Birkhäuser Verlag, Basel, 1994, With an appendix by Jonathan D. Rogawski.

[Man72] J. I. Manin, Parabolic points and zeta functions of modular curves, Izv. Akad. Nauk SSSR Ser. Mat. 36 (1972), 19–66. MR 47 #3396

[Mar01] François Martin, Périodes de formes modulaires de poids 1.

[Mar03] Jacques Martinet, Perfect lattices in Euclidean spaces, Grundlehren der Mathematischen Wissenschaften [Fundamental Principles of Mathematical Sciences], vol. 327, Springer-Verlag, Berlin, 2003. MR 1957723 (2003m:11099)

[Mar05] Greg Martin, Dimensions of the spaces of cusp forms and newforms on Γ_{0}(N) and Γ_{1}(N), J. Number Theory 112 (2005), no. 2, 298–331. MR 2141534 (2005m:11069)

[Maz73] B. Mazur, Courbes elliptiques et symboles modulaires, Séminaire Bourbaki, 24ème année (1971/1972), Exp. No. 414, Springer, Berlin, 1973, pp. 277– 294. Lecture Notes in Math., Vol. 317. MR 55 #2930

[McC91] M. McConnell, Classical projective geometry and arithmetic groups, Math. Ann. 290 (1991), no. 3, 441–462. MR 92k:22020

[Men79] Eduardo R. Mendoza, Cohomology of PGL_{2} over imaginary quadratic integers, Bonner Mathematische Schriften [Bonn Mathematical Publications], 128, Universität Bonn Mathematisches Institut, Bonn, 1979, Dissertation, Rheinische Friedrich-Wilhelms-Universität, Bonn, 1979. MR 611515 (82g:22012)

[Mer94] L. Merel, Universal Fourier expansions of modular forms, On Artin’s conjecture for odd 2-dimensional representations, Springer, 1994, pp. 59–94.

[Mer99] , Arithmetic of elliptic curves and Diophantine equations, J. Théor. Nombres Bordeaux 11 (1999), no. 1, 173–200, Les XXèmes Journées Arithmétiques (Limoges, 1997). MR 1730439 (2000j:11084)

[Mes86] J.-F. Mestre, La méthode des graphes. Exemples et applications, Proceedings of the international conference on class numbers and fundamental units of algebraic number fields (Katata) (1986), 217–242.

[Miy89] T. Miyake, Modular forms, Springer-Verlag, Berlin, 1989, Translated from the Japanese by Yoshitaka Maeda.

[MM89] R. MacPherson and M. McConnell, Classical projective geometry and modular varieties, Algebraic analysis, geometry, and number theory (Baltimore, MD, 1988), Johns Hopkins Univ. Press, Baltimore, MD, 1989, pp. 237–290. MR 98k:14076

[MM93] , Explicit reduction theory for Siegel modular threefolds, Invent. Math. 111 (1993), no. 3, 575–625. MR 94a:32052

[MTT86] B. Mazur, J. Tate, and J. Teitelbaum, On p-adic analogues of the conjectures of Birch and Swinnerton-Dyer, Invent. Math. 84 (1986), no. 1, 1–48. MR MR830037 (87e:11076)

[MW94] Colette Mœglin and Jean-Loup Waldspurger, Décomposition spectrale et séries d’Eisenstein, Progress in Mathematics, vol. 113, Birkhäuser Verlag, Basel, 1994, Une paraphrase de l’Écriture. [A paraphrase of Scripture]. MR 1261867 (95d:11067)

[Nec94] V. I. Nechaev, On the complexity of a deterministic algorithm for a discrete logarithm, Mat. Zametki 55 (1994), no. 2, 91–101, 189. MR 96a:11145

[Ong86] Heidrun E. Ong, Perfect quadratic forms over real-quadratic number fields, Geom. Dedicata 20 (1986), no. 1, 51–77. MR 823160 (87f:11023)

[PR94] Vladimir Platonov and Andrei Rapinchuk, Algebraic groups and number theory, Pure and Applied Mathematics, vol. 139, Academic Press Inc., Boston, MA, 1994, Translated from the 1991 Russian original by Rachel Rowen. MR 1278263 (95b:11039)

[Rib92] K. A. Ribet, Abelian varieties over Q and modular forms, Algebra and topology 1992 (Taejŏn), Korea Adv. Inst. Sci. Tech., Taejŏn, 1992, pp. 53– 79. MR 94g:11042

[Ros86] M. Rosen, Abelian varieties over C, Arithmetic geometry (Storrs, Conn., 1984), Springer, New York, 1986, pp. 79–101.

[RS01] K. A. Ribet and W. A. Stein, Lectures on Serre’s conjectures, Arithmetic algebraic geometry (Park City, UT, 1999), IAS/Park City Math. Ser., vol. 9, Amer. Math. Soc., Providence, RI, 2001, pp. 143–232. MR 2002h:11047

[Sap97] Leslie Saper, Tilings and finite energy retractions of locally symmetric spaces, Comment. Math. Helv. 72 (1997), no. 2, 167–202. MR 1470087 (99a:22019)

[Sar03] Peter Sarnak, Spectra of hyperbolic surfaces, Bull. Amer. Math. Soc. (N.S.) 40 (2003), no. 4, 441–478 (electronic). MR 1997348 (2004f:11107)

[SC03] Samir Siksek and John E. Cremona, On the Diophantine equation x^{2} +7 = y^{m}, Acta Arith. 109 (2003), no. 2, 143–149. MR 1980642 (2004c:11109)

[Sch86] Joachim Schwermer, Holomorphy of Eisenstein series at special points and cohomology of arithmetic subgroups of SL_{n}(Q), J. Reine Angew. Math. 364 (1986), 193–220. MR 817646 (87h:11048)

[Sch90] A. J. Scholl, Motives for modular forms, Invent. Math. 100 (1990), no. 2, 419–430.

[Sch95] R. Schoof, Counting points on elliptic curves over finite fields, J. Théor. Nombres Bordeaux 7 (1995), no. 1, 219–254, Les Dix-huitièmes Journées Arithmétiques (Bordeaux, 1993). MR 1413578 (97i:11070)

[Ser73a] J-P. Serre, A course in arithmetic, Springer-Verlag, New York, 1973, Translated from the French, Graduate Texts in Mathematics, No. 7. MR 0344216 (49 #8956)

[Ser73b] , A Course in Arithmetic, Springer-Verlag, New York, 1973, Translated from the French, Graduate Texts in Mathematics, No. 7.

[Ser87] , Sur les représentations modulaires de degré 2 de Gal(\overline{Q}/Q), Duke Math. J. 54 (1987), no. 1, 179–230.

[Shi59] G. Shimura, Sur les intégrales attachées aux formes automorphes, J. Math. Soc. Japan 11 (1959), 291–311.

[Shi94] , Introduction to the arithmetic theory of automorphic functions, Princeton University Press, Princeton, NJ, 1994, Reprint of the 1971 original, Kan Memorial Lectures, 1.

[Sho80a] V. V. Shokurov, Shimura integrals of cusp forms, Izv. Akad. Nauk SSSR Ser. Mat. 44 (1980), no. 3, 670–718, 720. MR 582162 (82b:10029)

[Sho80b] , A study of the homology of Kuga varieties, Izv. Akad. Nauk SSSR Ser. Mat. 44 (1980), no. 2, 443–464, 480. MR 571104 (82f:14023)

[Sho97] Victor Shoup, Lower bounds for discrete logarithms and related problems, Advances in cryptology—EUROCRYPT ’97 (Konstanz), Lecture Notes in Comput. Sci., vol. 1233, Springer, Berlin, 1997, pp. 256–266. MR 98j:94023

[Sil92] J. H. Silverman, The arithmetic of elliptic curves, Springer-Verlag, New York, 1992, Corrected reprint of the 1986 original.

[Sou75] Christophe Soulé, Cohomologie de SL_{3}(Z), C. R. Acad. Sci. Paris Sér. A-B 280 (1975), no. 5, Ai, A251–A254. MR 0396849 (53 #709)

[Sta79] R. E. Staffeldt, Reduction theory and K_{3} of the Gaussian integers, Duke Math. J. 46 (1979), no. 4, 773–798. MR 552526 (80m:22014)

[Ste] Allan Steel, Advanced matrix algorithms, Seminar Talk at Harvard University.

[Ste97] , A new algorithm for the computation of canonical forms of matrices over fields, J. Symbolic Comput. 24 (1997), no. 3-4, 409–432, Computational algebra and number theory (London, 1993). MR 1484489 (98m:65070)

[Ste99a] Norman Steenrod, The topology of fibre bundles, Princeton Landmarks in Mathematics, Princeton University Press, Princeton, NJ, 1999, Reprint of the 1957 edition, Princeton Paperbacks. MR 1688579 (2000a:55001)

[Ste99b] W. A. Stein, HECKE: The Modular Symbols Calculator, Software (available online) (1999).

[Ste00] , Explicit approaches to modular abelian varieties, Ph.D. thesis, University of California, Berkeley (2000).

[Ste06] , SAGE: Software for Algebra and Geometry

Experimentation, http://sage.scipy.org/sage.

[Str69] Volker Strassen, Gaussian elimination is not optimal, Numerische Mathematik 13 (1969), 354–356.

[Stu87] J. Sturm, On the congruence of modular forms, Number theory (New York, 1984–1985), Springer, Berlin, 1987, pp. 275–280.

[SV01] W. A. Stein and H. A. Verrill, Cuspidal modular symbols are transportable, LMS J. Comput. Math. 4 (2001), 170–181 (electronic). MR 1 901 355

[SV03] B. Speh and T. N. Venkataramana, Construction of some generalised modular symbols, preprint, 2003.

[SW02] William A. Stein and Mark Watkins, A database of elliptic curves—first report, Algorithmic number theory (Sydney, 2002), Lecture Notes in Comput. Sci., vol. 2369, Springer, Berlin, 2002, pp. 267–275. MR 2041090 (2005h:11113)

[SW05] Jude Socrates and David Whitehouse, Unramified Hilbert modular forms, with examples relating to elliptic curves, Pacific J. Math. 219 (2005), no. 2, 333–364. MR 2175121

[Tat75] J. Tate, Algorithm for determining the type of a singular fiber in an elliptic pencil, Modular functions of one variable, IV (Proc. Internat. Summer School, Univ. Antwerp, Antwerp, 1972), Springer, Berlin, 1975, pp. 33–52. Lecture Notes in Math., Vol. 476. MR 52 #13850

[Tho89] J. G. Thompson, Hecke operators and noncongruence subgroups, Group theory (Singapore, 1987), de Gruyter, Berlin, 1989, Including a letter from J.-P. Serre, pp. 215–224. MR 981844 (90a:20105)

[Tot05] A. Toth, On the Steinberg module of Chevalley groups, Manuscripta Math. 116 (2005), no. 3, 277–295.

[TW95] R. Taylor and A. J. Wiles, Ring-theoretic properties of certain Hecke algebras, Ann. of Math. (2) 141 (1995), no. 3, 553–572.

[vdG] Gerard van der Geer, Siegel Modular Forms, arXiv:math.AG/0605346. [vGvdKTV97] Bert van Geemen, Wilberd van der Kallen, Jaap Top, and Alain Ver-

berkmoes, Hecke eigenforms in the cohomology of congruence subgroups of SL(3, Z), Experiment. Math. 6 (1997), no. 2, 163–174. MR 1474576 (99a:11059)

[Vig77] Marie-France Vignéras, Séries thêta des formes quadratiques indéfinies, Séminaire Delange-Pisot-Poitou, 17e année (1975/76), Théorie des nombres: Fasc. 1, Exp. No. 20, Secrétariat Math., Paris, 1977, p. 3. MR 0480352 (58 #521)

[Vog85] K. Vogtmann, Rational homology of Bianchi groups., Math. Ann. 272 (1985), no. 3, 399–419.

[Vog97] David A. Vogan, Jr., Cohomology and group representations, Representation theory and automorphic forms (Edinburgh, 1996), Proc. Sympos. Pure Math., vol. 61, Amer. Math. Soc., Providence, RI, 1997, pp. 219–243. MR 1476500 (98k:22064)

[Vor08] G. Voronoǐ, Nouvelles applications des paramétres continus à la théorie des formes quadratiques, I. Sur quelques propriétés des formes quadratiques positives parfaites, J. Reine Angew. Math. 133 (1908), 97–178.

[VZ84] David A. Vogan, Jr. and Gregg J. Zuckerman, Unitary representations with nonzero cohomology, Compositio Math. 53 (1984), no. 1, 51–90. MR 762307 (86k:22040)

[Wan82] Kai Wang, A proof of an identity of the Dirichlet L-function, Bull. Inst. Math. Acad. Sinica 10 (1982), no. 3, 317–321. MR 679019 (84c:10040)

[Wan95] Xiang Dong Wang, 2-dimensional simple factors of J_{0}(N), Manuscripta Math. 87 (1995), no. 2, 179–197. MR 1334940 (96h:11059)

[Wes] U. Weselman, personal communication.

[Whi90] E. Whitley, Modular symbols and elliptic curves over imaginary quadratic number fields, Ph.D. thesis, Exeter University, 1990.

[Wie05] Gabor Wiese, Modular Forms of Weight One Over Finite Fields, Ph.D. thesis (2005).

[Wil95] A. J. Wiles, Modular elliptic curves and Fermat’s last theorem, Ann. of Math. (2) 141 (1995), no. 3, 443–551. MR 1333035 (96d:11071)

[Wil00] , The Birch and Swinnerton-Dyer Conjecture,

http://www.claymath.org/prize problems/birchsd.htm.

[Yas05a] D. Yasaki, On the cohomology of SU(2, 1) over the Gaussian integers, preprint, 2005.

[Yas05b] , On the existence of spines for Q-rank 1 groups, preprint, 2005.

Index

C(Γ)

is finite, 5 G_{k}(z), 13 M_{k}, 17 M_{k}(Γ), 7 S_{k}, 17 Γ(N), 4 Γ_{0}(N), 4 Γ_{1}(N), 4 SL_{2}(ℤ)

action on 𝔥, 1 action on cusps, 5

ε(γ), 182 𝔥, 1 𝔥^{∗}, 6 𝕄_{k}(G; R), 126 f^{[γ]_{k}}, 5 j-function, 172 C(Γ), 5 Δ, 15 GL_{2}(ℚ), 5 Mat_{2}(ℤ)_{n}, 133 hAdB, 130 ℂ[[q]], 4 𝕄_{k}(G), 125 𝕄_{k}(N, ε), 130 ℙ^{1}(ℚ), 5 𝕊_{k}(Γ), 136 F, 17 \overline{𝕄}_{k}, 181 \overline{𝕄}_{k}(N, ε), 182 Algorithm

p-adic Nullspace, 120 Asymptotically Fast Echelon Form, 113 Baby-Step Giant-Step Discrete Log, 69 Basis for M_{k}, 19 Basis of Cusp Forms, 55 Berlekamp-Massey, 118 Bernoulli number B_{n}, 32 Conductor, 71 Cremona’s Heilbronn Matrices, 48 Cusp Representation, 137 Decomposition Using Kernels, 121 Dirichlet Character as Kronecker

Symbol, 74 Elliptic Curves of Conductor N, 189 Enumerating Eisenstein Series, 88 Evaluate ε, 68 Explicit Cusp Equivalence, 137 Extension of Character, 75 Factorization of Character, 70 Galois Orbit, 76 Gauss Elimination, 106 Generalized Bernoulli Numbers

Algebraically, 84 Hecke Operator, 25 Kronecker Symbol as Dirichlet

Character, 73 List ℙ^{1}(ℤ/Nℤ), 148 Merel’s Algorithm for Computing a

Basis, 167 Minimal generator for (ℤ/p^{r}ℤ)^{∗}, 65 Modular Symbols Presentation, 157 Multimodular Echelon Form, 109 Order of Character, 70 Period Integrals, 183 Rational Reconstruction, 108 Reduction in ℙ^{1}(ℤ/Nℤ) to Canonical

Form, 147 Restriction of Character, 75 Sum over A_{4}(N), 101 System of Eigenvalues, 168 Values of ε, 69 Width of Cusp, 8

Definition Γ-invariant on the left, 208 k-sharblies, 235 q-expansion, 3 (reduced row) echelon form, 105 Bernoulli numbers, 16 Bianchi groups, 250 Borel conjecture, 214 Cholesky decomposition, 216 Connected, 209 Defined over ℚ, 209 Dirichlet character, 64 Eilenberg–Mac Lane, 213 Eisenstein cohomology, 214 Eisenstein series, 212 Eisenstein subspace, 83 Farey tessellation, 222 Fourier expansion, 3 Grothendieck motive, 181 Hecke algebra, 53, 83, 130 Hecke correspondence, 227 Hecke operators, 227 Hecke operator, 37, 130, 228 Hecke polynomials, 243 Hermite normal form, 122, 242 Hermitian symmetric spaces, 213 Humbert forms, 246 Krylov methods, 118 Krylov subspace, 118 Laplace–Beltrami–Casimir operator, 211 Maass forms, 212 Manin symbol, 126 Ramanujan function, 25 Semisimple, 209 Set of real points, 209 Victor Miller basis, 20 Voronoǐ decomposition, 221 Voronoǐ polyhedron, 217 Voronoǐ reduction algorithm, 220 Weierstrass ℘-function, 14 abelian variety attached to f, 180 action of Hecke operators, 141 antiholomorphic, 139 arithmetic group, 210 associate proper ℚ-parabolic subgroups

of G, 214 automorphic form, 211 automorphy factor, 207 boundary map, 40, 136 bounded domains, 213 cellular decomposition, 221 character of the modular form, 162 codimension, 221 complex upper half plane, 1 conductor, 71 congruence subgroup problem, 7 congruence subgroup, 4, 210 critical integers, 140 cross polytope, 240 cusp form, 4 cuspidal automorphic form, 212 cuspidal cohomology, 214 cuspidal modular symbols, 40, 136 cuspidal, 211 cusps for a congruence subgroup Γ, 5 degeneracy map, 58, 163 diamond-bracket action, 162 diamond-bracket operators, 130, 161 dimension, 221 divisor, xi eigenforms, 58 extended modular symbols of weight k

for Γ, 181 extended modular symbols of weight k,

181 extended upper half plane, 5 fan, 220 formal power series, 4 generalized Bernoulli numbers, 83 generalized modular symbol, 253 group cohomology, 213 height, 109 holomorphic at ∞, 3 holomorphic at the cusp α, 6 holomorphic, 2 hypersimplices, 248 left action of G, 125 left action of GL_{2}(ℚ), 40 left action of SL_{2}(ℤ), 136 left translations, 210 level of Γ, 4 level 1, 4 linear fractional transformations, 1 meromorphic at ∞, 3 meromorphic, 2 modular complex, 246 modular elliptic curves, 189 modular form, 4, 7 modular function, 3 modular group, 2 modular symbol algorithm, 231 modular symbol for Γ_{0}(N), 40 modular symbols for Γ_{0}(N), 40 modular symbols over a ring R, 126 modular symbols, 230 new modular symbols, 145 new subspace, 58, 163 newform, 59, 166 non-normalized weight k Eisenstein

series, 13 normalized Eisenstein series, 17 old modular symbols, 146 old subspace, 163 opposite, 224 perfection, 246 perfect, 218 pivot column, 105 plus one quotient, 167 primitive character associated to, 71 primitive, 71, 217 principal congruence subgroup, 210 rational Jordan form, 116 rational period mapping, 187 real-analytic, 212 reduced, 236 reducing point, 232 regular, 221 relative to the cusps, 39 restriction of scalars, 209 right action of SL_{2}(ℤ), 44, 127 right translation, 210 satisfies condition C_{n}, 133 self-adjoint homogeneous cone, 250 set of cusps, 5 sharbly complex, 235 sigma function, 15 slowly increasing, 211 spectral decomposition of

L^{2}(ΓΓE30F G), 212 split form of SL_{n}, 209 split symplectic group, 210 standard fundamental domain, 17 star involution, 143 strong deformation retract, 221 symplectic sharbly complex, 252 tilings, 248 topological cell, 220 transportable, 184 unimodular, 231 virtual cohomological dimension, 217 weakly modular function, 3, 5 weight k modular symbols for G, 125 weight k right action, 5 weight, 3, 4, 7 well-rounded retract, 221 width of the cusp, 6, 8 ℚ-rank, 247

SAGE, vii, x, 2, 16, 20, 21, 26, 30, 41, 43, 45, 50, 51, 55, 57, 63, 66, 67, 76, 78, 85, 89, 97, 109, 146, 163, 165, 200

M_{36}, 28 SL_{2}(ℤ), 2 ℤ/Nℤ, 66 basis for M_{24}, 20 basis for S_{2}(Γ_{0}(N)), 55 bernoulli numbers, 16 boundary map, 51 cuspidal submodule, 51 dimension S_{k}(Γ_{0}(N)), 97 dimension S_{k}(Γ_{1}(N)), 99 dimension formulas, 95 dimension with character, 163 Dirichlet character tutorial, 78 Dirichlet group, 66 Eisenstein arithmetic, 26 Eisenstein series, 90 evaluation of character, 67 generalized Bernoulli numbers, 85 Hecke operator T_{2}, 49 Hecke operators 𝕄_{2}(Γ_{0}(39)), 49 Hecke operators 𝕄_{2}(Γ_{0}(6)), 49 Heilbronn matrices, 49 Manin symbols, 45 modular symbols, 44 modular symbols of level 11, 41 rational reconstruction, 109 Victor Miller basis, 21

algorithm

generalized Bernoulli numbers

analytically, 86 Algorithm for computing equivalent cusps, 137 algorithm for computing

cusps, 137

Basmaji’s trick, 135 Bernoulli numbers generalized, 83 boundary map, 137 computing, 51

boundary modular symbols and Manin symbols, 136

conjecture Maeda, 28 Shimura-Taniyama, 37

cusp form Δ, 14 cusp forms for Γ, 136 higher level dimension, 94, 98

cuspidal modular symbols and Manin symbols, 136

cusps action of SL_{2}(ℤ) on, 5 and boundary map, 137 criterion for vanishing, 138

dimension

cusp forms of higher level, 94, 98 Dirichlet character, 144 and cusps, 138

Eisenstein series, 13 algorithm to enumerate, 88 and Bernoulli numbers, 83 are eigenforms, 88 basis of, 88 compute, 63 compute using SAGE, 90 Fourier expansion, 15

Eisenstein subspace, 83

Hecke algebra

generators over ℤ, 177 Hecke operator, 53 Heilbronn matrices, 48, 134, 135, 149, 150,

152 SAGE, 49

Krylov subspace, 117

linear symmetric spaces, 247

Maeda’s conjecture, 28 Manin symbols, 44

and boundary space, 136 and cuspidal subspace, 136

modular symbols finite presentation, 44 new and old subspace of, 145

new modular symbols, 145 newform, 157, 158

associated period map, 179 computing, 161 system of eigenvalues, 168

old modular symbols, 145

p-adic nullspace algorithm, 120 period mapping

computation of, 187 Petersson inner product, 59, 162

right action of GL_{2}(ℚ), 5

Shimura-Taniyama conjecture, 37

valence formula, 17