Computing with Modular Forms

William A. Stein October 2, 1998

ii

Contents

1 Introduction 1 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Examples 3

2.1 Eisenstein series of weight 1 . . . . . . . . . . . . . . . . . . . 3 2.1.1 X_{1}(4) example . . . . . . . . . . . . . . . . . . . . . . 5

3 Galois representations 9 3.1 Ramakrishna’s lifting theorem . . . . . . . . . . . . . . . . . . 9

3 The method of graphs 5

4 Modular symbols 7 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2 Weight 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

5 Trace formulas 9

6 Computing using quaternion algebras 11 6.1 Modular forms for definite quaternion algebras . . . . . . . . . 11

7 The Hecke algebra 13 7.1 Ramification of N in the Hecke algebra . . . . . . . . . . . . . 13 7.2 Discriminants of Hecke algebras . . . . . . . . . . . . . . . . . 13 7.3 Non-ordinary reduction of X_{0}(p) . . . . . . . . . . . . . . . . . 18

8 The Artin conjecture 21 8.1 Level 3004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 9 Serre’s conjectures 23

9.1 A complete example . . . . . . . . . . . . . . . . . . . . . . . 23 9.2 David Jones’s Thesis . . . . . . . . . . . . . . . . . . . . . . . 24

10 The Gouvea-Mazur conjectures 27

11 Searching for p-adic eigenforms 29 11.1 Hida theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 11.2 The Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 11.3 Computing the dimension of the slope α subspace. . . . . . . . 30

11.3.1 Classical characteristic polynomials . . . . . . . . . . . 32 11.3.2 Characteristic Series . . . . . . . . . . . . . . . . . . . 34

11.4 Steven’s Characteristic Series Conjecture . . . . . . . . . . . . 34

12 Implimentation and source code 35 12.1 Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 12.2 Survey of available tools . . . . . . . . . . . . . . . . . . . . . 36 12.3 Bruce Kaskel’s program . . . . . . . . . . . . . . . . . . . . . 36 12.4 Hijikata’s trace formula for the dimension . . . . . . . . . . . 37 12.5 Mestre’s method of graphs in PARI . . . . . . . . . . . . . . . 43 12.6 Primes of ordinary reduction . . . . . . . . . . . . . . . . . . . 59 12.7 Characteristic series, PARI version . . . . . . . . . . . . . . . 61 12.8 Weierstrass Points . . . . . . . . . . . . . . . . . . . . . . . . 64 12.9 Modular forms programs from Kevin . . . . . . . . . . . . . . 68 12.10Characteristic series, C++ Version . . . . . . . . . . . . . . . 76 12.11Modular symbols package . . . . . . . . . . . . . . . . . . . . 76 12.12Working with modular forms as functions on 𝔥 . . . . . . . . . 76

12.12.1 SL_{2}(ℤ) action . . . . . . . . . . . . . . . . . . . . . . . 76 12.12.2 Approximate q-expansion . . . . . . . . . . . . . . . . 77

14 E-Mail correspondence 79 14.1 Kevin Buzzard . . . . . . . . . . . . . . . . . . . . . . . . . . 79 14.2 Ken Ribet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 14.3 Robert Coleman . . . . . . . . . . . . . . . . . . . . . . . . . . 82 14.4 Loic Merel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 14.5 Helena Verrill . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 14.6 Jeremy Teitelbaum . . . . . . . . . . . . . . . . . . . . . . . . 97 2 CONTENTS

Chapter 2

Examples

2.1 Eisenstein series of weight 1

Suppose k ≥ 1 and ε is a character mod N so that ε(−1) = (−1)^{k}. The generalized Bernoulli numbers B_{k,ε} are defined by the formula

∑_{a=1}^{N} ε(a)\frac{te^{at}}{e^{Nt} − 1} = ∑_{k=0}^{∞} \frac{B_{k,ε}}{k!} t^{k}.

When k = 1 and ε is odd, we have

B_{1,ε} = ∑_{a=1}^{N−1} \frac{ε(a)a}{N}.

The sum

1 − \frac{2k}{B_{k,ε}} · ∑_{n=1}^{∞}(∑_{d|n} ε(d)d^{k−1})q^{n}

is an element of M_{k}(N, ε), except in the case k = 2 and ε trivial. For more see [DI]

Here is PARI code to compute the series when N = 5, k = 1, and ε(a)a ≡ 1 (mod λ) where λ = (2 + i) in ℚ(i).

   e=[0,1,I,-I,-1];
   1+(10/(3+I))*(sum(n=1,11,sumdiv(n,d,e[d%5+1])*q^n))+O(q^12)

1 + (3 − i)q + (4 + 2i)q^{2} + (2 − 4i)q^{3} + (1 + 3i)q^{4} + (3 − i)q^{5} + (6 − 2i)q^{6}

+(4 + 2i)q^{7} + (−1 − 3i)q^{9} + (4 + 2i)q^{10} + (6 − 2i)q^{11} + ⋯ ≡ 1 (mod λ)

Let f be this weight 1 Eisenstein series of level 5. Let’s find a “shadow” of f computationally. Consider f^{2}, which is a weight 2 modular form also of level 5,

f^{2} = 1+(6−2i)q+(16−2i)q^{2}+(32−4i)q^{3}+(18−6i)q^{4}+(50−10i)q^{5}+(12−4i)q^{6}

+(96 − 12i)q^{7} + (80 − 10i)q^{8} + (42 − 14i)q^{9} + (60 − 10i)q^{10} + (72 − 24i)q^{11}

+(96 − 12i)q^{12} + (192 − 24i)q^{13} + (36 − 12i)q^{14} + (120 − 20i)q^{15} + (66 − 22i)q^{16}

+(256−32i)q^{17}+(112−14i)q^{18}+(120−40i)q^{19}+(150−30i)q^{20}+(72−24i)q^{21}

+(192 − 24i)q^{22} + (352 − 44i)q^{23} + ⋯

The space M_{2}(Γ_{1}(5)) has dimension 3. With respect to some (noncanonical) basis of Manin symbols, the first few Hecke operators are:

\begin{matrix}p & 2 & 3 & 5 \\ T_{p} & ( \begin{matrix}2 & 1 & 0 \\ 1 & 2 & 0 \\ 1 & −1 & −1 \end{matrix} ) & ( \begin{matrix}3 & 1 & 0 \\ 1 & 3 & 0 \\ 2 & −2 & −2 \end{matrix} ) & ( \begin{matrix}3 & −2 & 0 \\ −2 & 3 & 0 \\ 2 & −2 & 1 \end{matrix} ) \end{matrix}

\begin{matrix}p & 7 & 11 & 13 \\ T_{p} & ( \begin{matrix}7 & 1 & 0 \\ 1 & 7 & 0 \\ 6 & −6 & 6 \end{matrix} ) & ( \begin{matrix}12 & 0 & 0 \\ 0 & 12 & 0 \\ 0 & 0 & 12 \end{matrix} ) & ( \begin{matrix}13 & 1 & 0 \\ 1 & 13 & 0 \\ 12 & −12 & −12 \end{matrix} ) \end{matrix}

Finding simultaneous eigenspaces gives three forms with eigenvalues as follows.

\begin{matrix}p & 2 & 3 & 5 & 7 & 11 & 13 & 17 & 19 & 23 \\ a_{p} & 1 & 2 & 5 & 6 & 12 & 12 & 16 & 20 & 22 \\ b_{p} & 3 & 4 & 1 & 8 & 12 & 14 & 18 & 20 & 24 \\ c_{p} & -1 & -2 & 1 & -6 & 12 & -12 & -16 & 20 & -22 \end{matrix}

Next find the square f^{2} of our Eisenstein series as a linear combination of g_{a}(q) = a_{0} + ∑_{n} a_{n}q^{n}, g_{b}(q) = b_{0} + ∑_{n} b_{n}q^{n}, g_{c}(q) = c_{0} + ∑_{n} c_{n}q^{n}.

(\begin{matrix}1 & 3 & −1 \\ 2 & 4 & −2 \\ 5 & 1 & 1 \end{matrix}) · (\begin{matrix}x \\ y \\ z \end{matrix}) = (\begin{matrix}16 − 2i \\ 32 − 4i \\ 50 − 10i \end{matrix})

So x = 11 − 2i, y = 0, and z = −5, and so f^{2} = (11 − 2i)g_{a} − 5g_{c}. A check shows that this is the case, at lease up to q^{23}, as expected.

2.1.1 X_{1}(4) example

Date: Wed, 30 Sep 1998 14:51:37
From: "Robert F. Coleman" <coleman@math.berkeley.edu>
Subject: X_1(4)
William,
         Do you know or know how to find the $q$-expansion of the weight
1 form (Eisenstein series) at the "middle" cusp on $X_1(4)$?
        Robert

Robert,

Using the above formula, first find the q-expansion about the cusp ∞. Since k = 1 the character ε must be odd. There is a unique odd character

ε : (ℤ/4ℤ)^{∗} → {±1}.

The Bournoulli number is

B_{1,ε} = ∑_{a=1}^{N−1} \frac{ε(a)a}{N} = \frac{ε(1)}{4} + \frac{ε(3)3}{4} = −\frac{1}{2}.

The Eisenstein series is then

1 + 4 · ∑_{n=1}^{∞} a_{n}q^{n}

where

a_{n} = ∑_{\begin{matrix}d|n \\ d≡1(mod 4) \end{matrix}}1 − ∑_{\begin{matrix}d|n \\ d≡3(mod 4) \end{matrix}}1

is the difference between the number of divisors d such that d ≡ 1(mod 4) and the number for which d ≡ 3(mod 4). A PARI program to approximate the series is

  ep_vals=[0,1,0,-1];
  ep(x)=ep_vals[x%4+1];
  eis(n,j=0,d=0)=1+4*(sum(j=1,n,sumdiv(j,d,ep(d))*q^j))+O(q^(n+1));

The 3 cusps on X_{1}(4) are [0], [∞], and [1/2]. (There is a formula for the number of cusps, and [?] gives an easy test for cusp equivalence.)

...

Let

f = −(E_{2}(q) − 2E_{2}(q^{2})) = 1 + 24 ∑_{n=1}^{∞}(∑_{d|n} ε(d)d)q^{n}

be the normalized weight two Eisenstein series of level 2. Then α = ( \begin{matrix}1 & 0 \\ 2 & 1 \end{matrix} ) ∈ Γ_{0}(2) so f|[α]_{2} = f. The oldforms f(q) and f(q^{2}) span M_{2}(Γ_{0}(4)). We know the action of [α]_{2} on f. Also, since α normalizes Γ_{0}(4), [since

m=[1,1;2,3];
(m^(-1)*[4*a+1,b;4*c,4*d+1]*m)[2,2]
(m^(-1)*[4*a+3,b;4*c,4*d+3]*m)[2,2]

are both divisible by 4. ] we know that f(q^{2})|[α]_{2} ∈ M_{2}(Γ_{0}(4)), hence equals af(q) + bf(q^{2}) for some scalars a, b. What are a and b?

PARI code to compute f is:

   e2(n,j=0)=1+24*sum(j=1,n,\
       sumdiv(j,d,if(d%2==1,d,0))*q^j)+O(q^(n+1));

also f(q^{2}),

  e22(n,j=0)=1+24*sum(j=1,n,\
    sumdiv(j,d,if(d%2==1,d,0))*q^(2*j))+O(q^(n+1));

This is how to find a and b with the computer.

f=e2(1000);
f2=e22(1000);
x=I;y=1+2*I;
v=[bar(f,1,0,0,1,2,x),bar(f,1,0,0,1,2,y)];

w=[bar(f2,1,0,0,1,2,x),bar(f2,1,0,0,1,2,y)];
r=[bar(f2,1,0,2,1,2,x),bar(f2,1,0,2,1,2,y)];
m[1,]=v;m[2,]=w;m[3,]=r;
matrank(m)
  ---> 2
matker(mattranspose(m))
  ---> [-1/2;1;1]

As a double check, I tried this for many choices of x, y in the upper half plane and always got the same answer. Conclusion:

f(q^{2})|[α]_{2} = \frac{1}{2}f(q) − f(q^{2}).

Next it is necessary to find G(q) = E(q)^{2}, the square of our weight 1 Eisenstein series, in terms of f(q) and f(q^{2}). We will then obtain G|[α]_{2} and hence finally a nice expression for the square of the q-expansion of E(q) at the nontrivial cusp.

Writing it all out using q-expansions in PARI yields

G(q) = \frac{1}{3}f(q) + \frac{2}{3}f(q^{2}).

You get this by computing, in the above notation, e2(6), e22(6), and eis(6)^2, and then doing some simple linear algebra.

Finally,

G|[α]_{2} = \frac{1}{3}f(q)|[α]_{2} + \frac{2}{3}f(q^{2})|[α]_{2}
= \frac{1}{3}f(q) + \frac{2}{3}(\frac{1}{2}f(q) − f(q^{2}))
= \frac{2}{3}f(q) − \frac{2}{3}f(q^{2}) = \frac{2}{3}(f(q) − f(q^{2}))
= 16q + 64q^{3} + 96q^{5} + 128q^{7} + ⋯

Surprise: this would imply that the form G apparently vanishes to order 1 at the cusp 1/2. This is impossible as it, being a square, would have to vanish to order 2 if it vanishes. Is there a mistake!?

I quadrupled checked my computations, and I even numerically verified that in fact G|[α]_{2} = \frac{2}{3}(f(q) − f(q^{2})) makes sense to very high precision.

Now I don’t think there is a mistake. The problem is that the cusp [1/2] for Γ_{1}(4) has width 2, i.e., the q-expansion of E(q) at that cusp is in terms of e^{2πiz/2}. This is because ( \begin{matrix}1 & 2 \\ 0 & 1 \end{matrix} ) ∈ α^{−1}Γ_{1}(4)α but ( \begin{matrix}1 & 1 \\ 0 & 1 \end{matrix} ) ∉ α^{−1}Γ_{1}(4)α.