In this chapter we study in detail the structure of level modular forms, i.e., modular forms on We assume some complex analysis (e.g., the residue theorem), linear algebra, and that the reader has read Chapter Modular Forms.
In this section we will finally see some examples of modular forms of level ! We first introduce the Eisenstein series and then define , which is a cusp form of weight . In Section Structure Theorem for Level 1 Modular Forms we prove the structure theorem, which says that all modular forms of level are polynomials in Eisenstein series.
For an even integer , the nonnormalized weight Eisenstein series is the function on the extended upper half plane given by
(1)
The star on top of the sum symbol means that for each the sum is over all such that .
Proposition 2.1
The function is a modular form of weight , i.e., .
Proof
See [Ser73, Section VII.2.3] for a proof that defines a holomorphic function on . To see that is modular, observe that
where for the last equality we use that the map on is invertible. Also,
where we use that is invertible.
Proposition 2.2
, where is the Riemann zeta function.
Proof
As (along the imaginary axis) in (1), the terms that involve with go to . Thus
This sum is twice , as claimed.
Suppose is an elliptic curve over , viewed as a quotient of by a lattice , with (see [DS05, Section 1.4]). The Weierstrass -function of the lattice is
where the sum is over even integers . It satisfies the differential equation
If we set and , the above is an (affine) equation of the form 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
is , where
Since is the difference of two modular forms of weight it has weight . Morever,
so is a cusp form of weight .
Let
Lemma 2.3
If , then .
Proof
Let and . Since is an elliptic curve, it has nonzero discriminant .
Proposition 2.4
We have .
Proof
See [Ser73, Thm. 6, pg. 95].
Remark 2.5
Sage computes the -expansion of efficiently to high precision using the command delta_qexp:
sage: delta_qexp(6)
q - 24*q^2 + 252*q^3 - 1472*q^4 + 4830*q^5 + O(q^6)
Recall from (?) that elements of can be expressed as formal power series in terms of and that this expansion is called the Fourier expansion of . The following proposition gives the Fourier expansion of the Eisenstein series .
Definition 2.6
For any integer and any positive integer , the sigma function
is the sum of the powers of the positive divisors of . Also, let , which is the number of divisors of , and let . For example, if is prime, then .
Proposition 2.7
For every even integer , we have
Proof
See [Ser73, Section VII.4], which uses clever manipulations of series, starting with the identity
From a computational point of view, the -expansion of Proposition 2.7 is unsatisfactory because it involves transcendental numbers. To understand these numbers, we introduce the Bernoulli numbers for defined by the following equality of formal power series:
(2)
Expanding the power series, we have
As this expansion suggests, the Bernoulli numbers with odd are (see Exercise 2.2). Expanding the series further, we obtain the following table:
See Section Fast Computation of Bernoulli Numbers 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.8
If is an even integer, then
Proof
This is proved by manipulating a series expansion of (see [Ser73, Section VII.4]).
Definition 2.9
The normalized Eisenstein series of even weight is
Combining Proposition 2.7 and Proposition 2.8, we see that
(3)
Warning
Our series is normalized so that the coefficient of is , but often in the literature is normalized so that the constant coefficient is . We use the normalization with the coefficient of equal to , because then the eigenvalue of the Hecke operator (see Section Hecke Operators) is the coefficient of . Our normalization is also convenient when considering congruences between cusp forms and Eisenstein series.
In this section we describe a structure theorem for modular forms of level . If is a nonzero meromorphic function on and , let be the largest integer such that is holomorphic at . If with , we set . We will use the following theorem to give a presentation for the vector space of modular forms of weight ; this presentation yields an algorithm to compute this space.
Let denote the complex vector space of modular forms of weight for . The standard fundamental domain for is the set of with and . Let .
Theorem 2.11
Let be any integer and suppose is nonzero. Then
where is the sum over elements of other than and !.
Proof
The proof in [Ser73, Section VII.3] uses the residue theorem.
Let index{} denote the subspace of weight cusp forms for . We have an exact sequence
that sends to . When is even, the space contains the Eisenstein series , and , so the map is surjective. This proves the following lemma.
Lemma 2.12
If is even, then and the following sequence is exact:
Proposition 2.13
For and , we have .
Proof
Suppose is nonzero yet or . By Theorem 2.11,
This is not possible because each quantity on the left is nonnegative so whatever the sum is, it is too big (or , in which case ).
Theorem 2.14
Multiplication by defines an isomorphism .
Proof
By Lemma 2.3, is not identically , so because is holomorphic, multiplication by defines an injective map . To see that this map is surjective, we show that if , then . Since has weight and , Theorem 2.11 implies that has a simple zero at and does not vanish on . Thus if and if we let , then is holomorphic and satisfies the appropriate transformation formula, so .
Corollary 2.15
For , the space has dimension , with basis , , , , , and , respectively, and .
Proof
Combining Proposition 2.13 with Theorem 2.14, we see that the spaces for cannot have dimension greater than , since otherwise for some . Also has dimension at most , since has dimension . Each of the indicated spaces of weight contains the indicated Eisenstein series and so has dimension , as claimed.
Corollary 2.16
Here is the biggest integer .
Proof
As we have already seen above, the formula is true when . By Theorem 2.14, the dimension increases by when is replaced by .
Theorem 2.17
The space has as basis the modular forms , where run over all pairs of nonnegative integers such that .
Proof
Fix an even integer . We first prove by induction that the modular forms generate ; the cases and follow from the above arguments (e.g., when , we have and basis ). Choose some pair of nonnegative integers such that . The form is not a cusp form, since it is nonzero at . Now suppose is arbitrary. Since , there exists such that . Then by Theorem 2.14, there is such that . By induction, is a polynomial in and of the required type, and so is , so is as well. Thus
spans .
Suppose there is a nontrivial linear relation between the for a given . By multiplying the linear relation by a suitable power of and , we may assume that we have such a nontrivial relation with . Now divide the linear relation by the weight form to see that satisfies a polynomial with coefficients in (see Exercise 2.4). Hence is a root of a polynomial, hence a constant, which is a contradiction since the -expansion of is not constant.
Algorithm 2.18
Given integers and , this algorithm computes a basis of -expansions for the complex vector space mod . The -expansions output by this algorithm have coefficients in .
Proof
This is simply a translation of Theorem 2.17 into an algorithm, since is a nonzero scalar multiple of . That the -expansions have coefficients in follows from (3).
Example 2.19
We compute a basis for , which is the space with smallest weight whose dimension is greater than . It has as basis , , and , whose explicit expansions are
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 The Miller Basis, we will discuss the reduced echelon form basis for .
Lemma 2.20
The space has a basis such that if is the coefficient of , then for . Moreover the all lie in . We call this basis the Miller basis for .
This is a straightforward construction involving , and . The following proof very closely follows [Lan95, Ch. X,Thm. 4.4], which in turn follows the first lemma of V. Miller’s thesis.
Proof
Let . Since and , we note that
and
have -expansions in with leading coefficient . Choose integers such that
with when , and let
Then it is elementary to check that has weight
Hence the are linearly independent over , so form a basis for . Since , and are all in , so are the . The may then be constructed from the by Gauss elimination. The coefficients of the resulting power series lie in because each time we clear a column we use the power series whose leading coefficient is (so no denominators are introduced).
Remark 2.21
The basis coming from Miller’s lemma is “canonical”“, since it is just the reduced row echelon form of any basis. Also the set of all integral linear combinations of the elements of the Miller basis are precisely the modular forms of level with integral -expansion.
We extend the Miller basis to all by taking a multiple of with constant term and subtracting off the from the Miller basis so that the coefficients of of the resulting expansion are . We call the extra basis element .
Example 2.22
If , then . Choose , since . Then
and
We let and
Example 2.23
When , the Miller basis including is
Example 2.24
The Sage command victor_miller_basis computes the Miller basis to any desired precision given .
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.25
To write as a polynomial in and , it is wasteful to compute the Miller basis. Instead, use the upper triangular (but not echelon!) basis , and match coefficients from to .
In this section we define Hecke operators on level 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 case, and the general case is similar (see, e.g., [Lan95]).
For any positive integer , let
Note that the set is in bijection with the set of subgroups of of index , where corresponds to , as one can see using Hermite normal form, which is the analogue over of echelon form (see Exercise 7.5).
Recall from (?) that if , then
Definition 2.26
The Hecke operator of weight is the operator on the set of functions on defined by
Remark 2.27
It would make more sense to write on the right, e.g., , since is defined using a right group action. However, if are integers, then the action of and on weakly modular functions commutes (by Proposition 2.29 below), so it makes no difference whether we view the Hecke operators of given weight as acting on the right or left.
Proposition 2.28
If is a weakly modular function of weight , then so is ; if is a modular function, then so is .
Proof
Suppose . Since induces an automorphism of , X_n \cdot \gamma = \{ \delta \gamma : \delta\in X_n\} is also in bijection with the subgroups of of index . For each element , there is such that (the element transforms to Hermite normal form), and the set of elements is thus equal to . Thus
A finite sum of meromorphic function is meromorphic, so is weakly modular. If is holomorphic on , then each is holomorphic on for . A finite sum of holomorphic functions is holomorphic, so is holomorphic.
We will frequently drop from the notation in , since the weight is implicit in the modular function to which we apply the Hecke operator. Henceforth we make the convention that if we write and if is modular, then we mean , where is the weight of .
Proposition 2.29
On weight modular functions we have
(4)
and
(5)
Proof
Let be a subgroup of index . The quotient is an abelian group of order , and , so decomposes uniquely as a direct sum of a subgroup of order with a subgroup of order . Thus there exists a unique subgroup such that , and has index in . The subgroup corresponds to an element of , and the index subgroup corresponds to multiplying that element on the right by some uniquely determined element of . We thus have
i.e., the set products of elements in with elements of equal the elements of , up to -equivalence. Thus for any , we have . Applying this formula with and swapped yields the equality .
We will show that . Suppose is a weight weakly modular function. Using that , we have
Also
Thus it suffices to show that disjoint union copies of is equal to , where we consider elements with multiplicities and up to left -equivalence (i.e., the left action of ).
Suppose is a subgroup of of index , so corresponds to an element of . First suppose is not contained in . Then the image of in is of order , so if , then and , and is the only subgroup with this property. Second, suppose that if of index and that corresponds to . Then every one of the subgroups of index contains . Thus there are chains with .
The chains with and are in bijection with the elements of . On the other hand the union of with copies of corresponds to the subgroups of index , but with those that contain counted times. The structure of the set of chains that we derived in the previous paragraph gives the result.
Corollary 2.30
The Hecke operator , for prime , is a polynomial in with integer coefficients, i.e., . If are any integers, then
Proof
The first statement follows from (5) of Proposition 2.29. It then follows that when and are both powers of a single prime . Combining this with (4) gives the second statement in general.
Proposition 2.31
Let be a modular function of weight . Then
In particular, if is prime, then
where if .
Proof
This is proved in [Ser73, Section VII.5.3] by writing out explicitly and using that is if and otherwise.
Corollary 2.32
The Hecke operators preserve and .
Remark 2.33
Alternatively, for the above corollary is Proposition 2.28, and for we see from the definitions that if , then also vanishes at .
Example 2.34
Recall from (3) that
Using the formula of Proposition 2.31, we see that
Since has dimension and since we have proved that preserves , we know that acts as a scalar. Thus we know just from the constant coefficient of that
More generally, for prime we see by inspection of the constant coefficient of that
In fact
for any integer and even weight .
Example 2.35
By Corollary Corollary 2.32, the Hecke operators also preserve the subspace of . Since has dimension (spanned by ), we see that is an eigenvector for every . Since the coefficient of in the -expansion of is , the eigenvalue of on is the coefficient of . Since for , we have proved the nonobvious fact that the Ramanujan function that gives the coefficient of is a multiplicative function, i.e., if , then .
Remark 2.36
The Hecke operators respect the decomposition , i.e., for all the series are eigenvectors for all .
This section is about how to compute matrices of Hecke operators on .
Algorithm 2.37
This algorithm computes the matrix of the Hecke operator on the Miller basis for .
[Dimension] Compute using Corollary 2.16.
[Basis] Using Lemma 2.20, compute the echelon basis for .
[Hecke operator] Using Proposition 2.31, compute for each the image .
[Write in terms of basis] The elements determine linear combinations of
These linear combinations are easy to find once we compute , since our basis of is in echelon form. The linear combinations are just the coefficients of the power series up to and including .
[Write down matrix] The matrix of acting from the right relative to the basis is the matrix whose rows are the linear combinations found in the previous step, i.e., whose rows are the coefficients of .
Proof
By Proposition 2.31, the coefficient of involves only and smaller-indexed coefficients of . We need only compute a modular form modulo in order to compute modulo . Uniqueness in step (4) follows from Lemma 2.20 above.
Example 2.38
We compute the Hecke operator on using the above algorithm.
[Compute dimension] We have .
[Compute basis] Compute up to (but not including) the coefficient of . As given in the proof of Lemma 2.20, we have
Thus $M_{12}$ has basis
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)
[Compute Hecke operator] In each case letting denote the coefficient of or , respectively, we have
and
(Note that .)
[Write in terms of basis] We read off at once that
[Write down matrix] Thus the matrix of , acting from the right on the basis , , is
As a check note that the characteristic polynomial of is and that is the sum of the powers of the divisors of .
Example 2.39
The Hecke operator on with respect to the echelon basis is
It has characteristic polynomial
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 .
sage: T2 = M.hecke_matrix(2); T2
[34359738369 0 6218175600 9026867482214400]
[ 0 0 34416831456 5681332472832]
[ 0 1 194184 -197264484]
[ 0 0 -72 -54528]
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 open problem about Hecke operators on modular forms of level . It generalizes our above observation that the characteristic polynomial of on , for , factors as a product of a linear factor and an irreducible factor.
Conjuecture 2.40
The characteristic polynomial of on is irreducible for any .
Kevin Buzzard observed that in several specific cases the Galois group of the characteristic polynomial of is the full symmetric group (see [Buz96]). See also [FJ02] for more evidence for the following conjecture:
Conjuecture 2.41
For all primes and all even the characteristic polynomial of acting on is irreducible.
How difficult is it to compute prime-indexed coefficients of
Theorem 2.42
Let be a prime. There is a probabilistic algorithm to compute , for prime , that has expected running time polynomial in
Proof
See [ECdJ+06].
More generally, if is an eigenform in some space , where , then one expects that there is an algorithm to compute in time polynomial in . Bas Edixhoven, Jean-Marc Couveignes and Robin de Jong have proved that can be computed in polynomial time; their approach involves sophisticated techniques from arithmetic geometry (e.g., ‘etale 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:
This section, which was written jointly with Kevin McGown, is about computing the Bernoulli numbers , for , defined in Section Fourier Expansions of Eisenstein Series by
(6)
One way to compute is to multiply both sides of (?) by and equate coefficients of to obtain the recurrence
This recurrence provides a straightforward and easy-to-implement method for calculating if one is interested in computing for all up to some bound. For example,
and
However, computing via the recurrence is slow; it requires summing over many large terms, it requires storing the numbers , 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]).
Another approach to computing is to use Newton iteration and asymptotically fast polynomial arithmetic to approximate . This method yields a very fast algorithm to compute modulo . See [BCS92] for an application of this method modulo a prime to the verification of Fermat’s last theorem for irregular primes up to one million.
Example 2.43
David Harvey implemented the algorithm of [BCS92] in Sage as the command bernoulli_mod_p:
sage: bernoulli_mod_p(23)
[1, 4, 13, 17, 13, 6, 10, 5, 10, 9, 15]
A third way to compute uses an algorithm based on Proposition 2.8, which we explain below (Algorithm 2.45). 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 as an exact rational number by approximating to very high precision using Proposition 2.8, the Euler product
and the following theorem:
Theorem 2.44
For even ,
Proof
See [Lan95, Ch. X, Thm. 2.1].
The following is a new quick way to compute the number of digits of the numerator of . For example, using it we can compute the number of digits of in less than a second.
By Theorem 2.44 we have . The number of digits of the numerator is thus
But
and so . Finally, Stirling’s formula (see [Ahl78, pg. 198–206]) gives a fast way to compute :
(7)
We put quotes around the equality sign because does not converge to its Laurent series. Indeed, note that for any fixed value of the summands on the right side go to as ! Nonetheless, we can use this formula to very efficiently compute , since if we truncate the sum, then the error is smaller than the next term in the infinite sum.
We return to the problem of computing . Let
so . Write
with , , and . It is elementary to show that for even . Suppose that using the Euler product we approximate from below by a number such that
Then hence It follows that and hence
It remains to compute . Consider the following problem: given and , find so that
satisfies . We always have . Also,
so
Thus if , then
so , as required. For our purposes, we have and , so it suffices to take .
Algorithm 2.45
Given an integer , this algorithm computes the Bernoulli number as an exact rational number.
In step (5) use a sieve to compute all primes efficiently (which is fast, since is so small). In step (4) we may replace by any integer greater than the one specified by the formula, so we do not have to compute to very high precision.
In Section Computing Generalized Bernoulli Numbers Analytically below we will generalize the above algorithm.
Example 2.46
We illustrate Algorithm 2.45 by computing . Using 135 binary digits of precision, we compute
The divisors of are , so
We find and compute
Finally we compute
so
Exercise 2.1
Using Proposition 2.8 and the table found here, compute explicitly.
Exercise 2.2
Prove that if is odd, then the Bernoulli number is .
Exercise 2.3
Use (3) to write down the coefficients of , , , and of the Eisenstein series .
Exercise 2.4
Suppose is a positive integer with . Suppose are integers with .
Exercise 2.5
Compute the Miller basis for with precision . Your answer will look like Example 2.23.
Exercise 2.6
Consider the cusp form in . Write as a polynomial in and (see Remark 2.25).
Exercise 2.7
Let be the weight Eisenstein series from equation (1). Let be the complex number so that the constant coefficient of the -expansion of is . Is it always the case that the -expansion of lies in ?
Exercise 2.8
Compute the matrix of the Hecke operator on the Miller basis for . 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 for general and . 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 have subtle connections with elliptic curves, abelian varieties, and motives. Read on for more!