Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Project: Math 582b
Views: 2495
%md # February 24, 2016: Modular forms (part 1) ## William Stein

February 24, 2016: Modular forms (part 1)

William Stein

1. Key Definitions

I will assume you've read something. However, the quick summary of the key definitions, so we're on the same page:

Modular Forms: Let GG be a congruence subgroup of SL2(Z)\text{SL}_2(\ZZ), so GG contains Γ(N)=ker(SL2(Z)SL2(Z/NZ))\Gamma(N) = \ker(\text{SL}_2(\ZZ) \to \text{SL}_2(\ZZ/N\ZZ)) for some NN. Let k1k\geq 1 be an integer. The space Mk(G)M_k(G) of modular forms of weight kk for GG is the finite dimensional vector space of holomorphic functions ff on the upper half plane such that (1) a growth condition holds at the cusps, and (2) for every g=[a,b;c,d]Gg=[a,b;c,d] \in G, we have f(g(z))=(cz+d)kf(z)f(g(z)) = (cz+d)^k f(z).

q-expansions: If G=Γ0(N)G=\Gamma_0(N) or Γ1(N)\Gamma_1(N), then there is a qq-expansion map Mk(G)C[[q]]M_k(G) \hookrightarrow \CC[[q]], where q(z)=e2πizq(z)=e^{2\pi i z}. (This is really just the Taylor expansion of a holomorphic function about the origin in C\CC.) This is also called the Fourier expansion of ff.

Cusp Forms: The subspace Sk(G)Mk(G)S_k(G)\subset M_k(G) is the subspace of modular forms that vanish at all cusps (equivalence classes of P1(Q)\mathbf{P}^1(\QQ) under action of GG).

The Hecke Algebra: When G=Γ0(N)G=\Gamma_0(N) or Γ1(N)\Gamma_1(N), there is a commutative ring of Hecke operators T=Z[T1,T2,]\mathbf{T} = \ZZ[T_1, T_2, \ldots] that acts on Mk(G)M_k(G).

Everything below is also true for Γ1\Gamma_1.

Newforms: For each divisor MNM\mid N, there are natural maps Sk(Γ0(N))Sk(Γ0(M))S_k(\Gamma_0(N)) \to S_k(\Gamma_0(M)). The new subspace Sk(Γ0(N))newS_k(\Gamma_0(N))_{\text{new}} is the intersection of the kernels of all these maps over the proper divisors of NN. A newform is an eigenvector for all T\mathbf{T} that is normalized so that the coefficient of qq is 11. Its qq-expansion is of the form f=n1anqnf = \sum_{n\geq 1} a_n q^n, and we have Tn(f)=anfT_n(f) = a_n f, i.e., the eigenvalue of TnT_n is the nnth Fourier coefficient.

Basis: The new subspace Sk(Γ0(N))newS_k(\Gamma_0(N))_{\text{new}} has a basis of qq-expansions with coefficients in Z[[q]]\ZZ[[q]]. The collection of newforms in Sk(Γ0(N))newS_k(\Gamma_0(N))_{\text{new}} is a basis for the new subspace, and it is equipped with an action of Gal(Qˉ/Q)\text{Gal}(\bar{\QQ}/\QQ), where σ(anqn)=σ(an)qn\sigma(\sum a_n q^n) = \sum \sigma(a_n) q^n.

2. Computing Modular Forms

The basic idea of a fairly general approach to computing modular forms.

Modular symbols: Assume k2k\geq 2. Modular symbols provide a nice presentation for a Q\QQ-module Mk(G;Q)\mathcal{M}_k(G;\QQ), which is closely related to cusp forms. In particular, Mk(G;Q)\mathcal{M}_k(G;\QQ) has an action of the Hecke algebra T\mathbf{T}, so we can use it to find the systems {an}\{a_n\} of eigenvalues for the TnT_n, and hence the newforms f=n1anqnf = \sum_{n\geq 1} a_n q^n.

Level 1: Serre's book "a course in arithmetic" explains how to compute all modular forms of level N=1N=1 and any weight. He simply proves that everything is in the algebra generated by two special modular forms E4E_4 and E6E_6.

There are a lot of other approaches, e.g., using quaternion algebras, supersingular elliptic curves, theta series, eta products, etc., which yield very efficient information about modular forms in particular cases. There's also a lot of work to generalize alogirthms involving modular symbols to the pp-adics (see, e.g., http://trac.sagemath.org/ticket/812, which people have been working on for 8 years...).

︠1be9b839-3dbc-4b4c-986f-6d5815668303i︠ %md ## 3. Examples in Sage

3. Examples in Sage

3.1. Level 11 weight 2

M = ModularForms(11,2) M
Modular Forms space of dimension 2 for Congruence Subgroup Gamma0(11) of weight 2 over Rational Field
M.basis()
[ q - 2*q^2 - q^3 + 2*q^4 + q^5 + O(q^6), 1 + 12/5*q + 36/5*q^2 + 48/5*q^3 + 84/5*q^4 + 72/5*q^5 + O(q^6) ]
M.eisenstein_subspace().basis()
[ 1 + 12/5*q + 36/5*q^2 + 48/5*q^3 + 84/5*q^4 + 72/5*q^5 + O(q^6) ]
T2 = M.hecke_operator(2); T2
Hecke operator T_2 on Modular Forms space of dimension 2 for Congruence Subgroup Gamma0(11) of weight 2 over Rational Field
show(T2.matrix())
(2003)\displaystyle \left(\begin{array}{rr} -2 & 0 \\ 0 & 3 \end{array}\right)
S = M.cuspidal_submodule(); S
Cuspidal subspace of dimension 1 of Modular Forms space of dimension 2 for Congruence Subgroup Gamma0(11) of weight 2 over Rational Field
S.basis()
[ q - 2*q^2 - q^3 + 2*q^4 + q^5 + O(q^6) ]
for n in [1..5]: print S.hecke_matrix(n)
[1] [-2] [-1] [2] [1]

The reciprocity law that Ana Caraiani mentioned in her talk last month...

E = EllipticCurve('11a') for p in primes(100): print p, E.ap(p), S.hecke_matrix(p)
2 -2 [-2] 3 -1 [-1] 5 1 [1] 7 -2 [-2] 11 1 [1] 13 4 [4] 17 -2 [-2] 19 0 [0] 23 -1 [-1] 29 0 [0] 31 7 [7] 37 3 [3] 41 -8 [-8] 43 -6 [-6] 47 8 [8] 53 -6 [-6] 59 5 [5] 61 12 [12] 67 -7 [-7] 71 -3 [-3] 73 4 [4] 79 -10 [-10] 83 -6 [-6] 89 15 [15] 97 -7 [-7]

Exercise right now: Do a computation just like the above, but for an elliptic curve of conductor 37.

S = CuspForms(37)
S.hecke_polynomial(3).factor()
(x - 1) * (x + 3)
︠a2e55cc8-935e-491c-85a6-8d3351e9260d︠ ︠24dfeda3-6fb9-4ea6-b72a-c55f3e618ba6︠ ︠f8810619-294c-458a-a392-6273022606f7i︠ %md ## 3.2 Galois Orbits of Newforms There is a newforms command that returns one *representative* for each $G_\QQ$-orbit of newforms.

3.2 Galois Orbits of Newforms

There is a newforms command that returns one representative for each GQG_\QQ-orbit of newforms.

S = CuspForms(43); S
Cuspidal subspace of dimension 3 of Modular Forms space of dimension 4 for Congruence Subgroup Gamma0(43) of weight 2 over Rational Field
S.dimension()
3
X = S.newforms(names='a') len(X)
2
f0 = X[0] print "f0=", f0 f1 = X[1] # there are two newforms -- f1 and its image under Galois! print "f1=", f1
f0= q - 2*q^2 - 2*q^3 + 2*q^4 - 4*q^5 + O(q^6) f1= q + a1*q^2 - a1*q^3 + (-a1 + 2)*q^5 + O(q^6)
f0.q_expansion(20) # related to an elliptic curve of conductor 43
q - 2*q^2 - 2*q^3 + 2*q^4 - 4*q^5 + 4*q^6 + q^9 + 8*q^10 + 3*q^11 - 4*q^12 - 5*q^13 + 8*q^15 - 4*q^16 - 3*q^17 - 2*q^18 - 2*q^19 + O(q^20)
EllipticCurve('43a').q_eigenform(20)
q - 2*q^2 - 2*q^3 + 2*q^4 - 4*q^5 + 4*q^6 + q^9 + 8*q^10 + 3*q^11 - 4*q^12 - 5*q^13 + 8*q^15 - 4*q^16 - 3*q^17 - 2*q^18 - 2*q^19 + O(q^20)
show(f1.q_expansion(15))
q+a1q2a1q3+(a1+2)q52q6+(a12)q72a1q8q9+(2a12)q10+(2a11)q11+(2a1+1)q13+(2a1+2)q14+O(q15)\displaystyle q + a_{1}q^{2} - a_{1}q^{3} + \left(-a_{1} + 2\right)q^{5} - 2q^{6} + \left(a_{1} - 2\right)q^{7} - 2 a_{1}q^{8} - q^{9} + \left(2 a_{1} - 2\right)q^{10} + \left(2 a_{1} - 1\right)q^{11} + \left(2 a_{1} + 1\right)q^{13} + \left(-2 a_{1} + 2\right)q^{14} + O(q^{15})
f1.base_ring()
Number Field in a1 with defining polynomial x^2 - 2

Theorem of Shimura: There is an abelian variety Af1A_{f_1} over Q\QQ attached to f1f_1 of dimension 22.

It's endomorphism ring is Z[2]\ZZ[\sqrt{2}]... It's not the Jacobian of a curve...

J = J0(43) D = J.decomposition() D
[ Simple abelian subvariety 43a(1,43) of dimension 1 of J0(43), Simple abelian subvariety 43b(1,43) of dimension 2 of J0(43) ]
E = D[0] A = D[1]
A
Simple abelian subvariety 43b(1,43) of dimension 2 of J0(43)
A.modular_kernel()
Finite subgroup with invariants [2, 2] over QQ of Simple abelian subvariety 43b(1,43) of dimension 2 of J0(43)
A.intersection(E)
(Finite subgroup with invariants [2, 2] over QQ of Simple abelian subvariety 43b(1,43) of dimension 2 of J0(43), Simple abelian subvariety of dimension 0 of J0(43))
︠790110bb-84ee-4c90-83cc-161290fa76a6︠