Let N be a positive integer, and consider the group

Γ_{0}(N) := \{(\begin{matrix}a & b \\ c & d \end{matrix}) : ad − bc = 1 and N | c\} .

It acts on the upper half plane

𝔥 := {z ∈ C : ℑ(z) > 0}

by

z ↦ \frac{az + b}{cz + d} .

A modular form for Γ_{0}(N) (of weight 2) is a holomorphic function f(z) on 𝔥 such that

f(γ(z))d(γ(z)) = f(z)dz

for all γ ∈ Γ_{0}(N).

Since γ = (\begin{matrix}1 & 1 \\ 0 & 1 \end{matrix}) ∈ Γ_{0}(N),

f(z + 1) = f(z),

so f(z) has a Fourier expansion

f(z) = a_{0} + a_{1}q + a_{2}q^{2} + a_{3}q^{3} + ⋯

where q = e^{2πiz}.

The space of cusp forms S_{2}(N) is the subspace of modular forms that “vanish at the cusps” (essentially, a_{0} = 0). Use Magma to compute some modular forms:

  > qEigenform(ModularSymbols("11A"),7);
  > qEigenform(ModularSymbols("23A"),6);
  > qEigenform(ModularSymbols("37A"),7);

q − 2q^{2} − q^{3} + 2q^{4} + q^{5} + 2q^{6} + ⋯ q + ^{\frac{√5−1}{2}}q^{2} − √5q^{3} − ^{\frac{√5+1}{2}} q^{4} + (√5−1)q^{5}+⋯ q − 2q^{2} − 3q^{3} + 2q^{4} − 2q^{5} + 6q^{6} + ⋯ There is a family

T_{2}, T_{3}, T_{5}, T_{7}, …

of commuting linear transformations of S_{2}(N). For example, if p ∤ N, then

T_{p}(f) = ∞ ; ∑ ; n=1 (a_{np}q^{n} + a_{n}q^{np}).

The T_{p} generate the Hecke algebra T.

Use Magma to compute some T_{p}:

  > M := ModularSymbols(43,2,+1);
  > Restrict(Tn(M,2),SkZ(M));

T_{2} = ( \begin{matrix}−2 & 0 & 1 \\ −1 & −2 & 2 \\ −2 & 0 & 2 \end{matrix} )

The characteristic polynomial of T_{2} is (x + 2)(x^{2} − 2).

Question of Ribet. Is there a prime N so that the characteristic polynomial of every T_{p} has a double root mod N? I first searched using a slow trace formula. Learned from Joe Wetherell at Arizona Winter School to use modular symbols. Found the only known example: N = 389. Hooked! This is the tip of an iceberg.

Higher weight modular forms A modular form of weight k is a holomorphic function f(z) on 𝔥 such that

f (\frac{az + b}{cz + d} ) = (cz + d)^{k}f(z)

whenever a, b, c, d are integers with ad − bc = 1.

Use Magma to find an example:

  > M   := ModularSymbols(1,12);
  > D   := Decomposition(M);
  > f12 := qEigenform(D[1],5);

f_{12} = q − 24q^{2} + 252q^{3} − 1472q^{4} + 4830q^{5} + ⋯

The 2-adic slope of f is ord_{2}(24) = 3.

Let’s look for eigenforms of weight 2-adically close to 12 and slope 3. Try weights

12 + 4, 12 + 8, and 12 + 16.

  > f16 := qEigenform(Decomposition(
               ModularSymbols(1,12+4))[1],7);
  > f20 := qEigenform(Decomposition(
               ModularSymbols(1,12+8))[1],7);
  > f28 := qEigenform(Decomposition(
               ModularSymbols(1,12+16))[1],7);

f_{16} −f_{12} = 40q^{2}−3600q^{3}+15360q^{4}+47280q^{5}+⋯

f_{20} −f_{12} = 480q^{2}+50400q^{3}−314880q^{4}−2382240q^{5}+⋯

Maybe f_{16} ≡ f_{12} (mod 2^{4}) and f_{20} ≡ f_{12} (mod 2^{5})?

For the form of weight 12 + 16, we must consider only the slope 3 form.

 > f28 := SlopeAlphaNewforms(
              ModularSymbols(1,12+16),
              3,2,30,7)[1];  // slope, p, precision
 > f28 - CastPowerSeries(Parent(f28),f12);

f_{28} = q + (2^{3} + 2^{5} + 2^{7} + ⋯)q^{2}

+ (2^{2} + 2^{3} + 2^{4} + 2^{5} + 2^{7} + ⋯)q^{3} + ⋯

f_{28} − f_{12} = (2^{6} + 2^{8} + 2^{9} + ⋯)q^{2}
+ (2^{6} + 2^{9} + ⋯)q^{3} + ⋯
f_{28} ≡ f_{12} (mod 2^{6})?

Robert is the world’s expert in understanding how these families of f_{k} fit together.