 CoCalc Public Fileswww / talks / 20070604-banff / modsymspaces.html
Author: William A. Stein
SAGE Worksheet: modsymspaces
jsMath

# Tutorial: Computing With Modular Forms Using Magma

Contents, General, Modular Forms, Modular Symbols, Future

# Defining Ambient Spaces of Modular Symbols

ModularSymbols(11)
 Full modular symbols space for Gamma_0(11) of weight 2 and dimension 3 over Rational Field Full modular symbols space for Gamma_0(11) of weight 2 and dimension 3 over Rational Field
ModularSymbols(Gamma1(13),3)
 Full modular symbols space for Gamma_1(13) of weight 3 and dimension 28 over Rational Field Full modular symbols space for Gamma_1(13) of weight 3 and dimension 28 over Rational Field
G<a> := DirichletGroup(13,CyclotomicField(12));
ModularSymbols(a^2,2)
 Full modular symbols space of level 13, weight 2, character a^2, and dimension 4 over Cyclotomic Field of order 12 and degree 4 Full modular symbols space of level 13, weight 2, character a^2, and dimension 4 over Cyclotomic Field of order 12 and degree 4

# Cutting Out Submodules: Eisenstein, Cuspidal, New, Old

M := ModularSymbols(Gamma0(33)); M
 Full modular symbols space for Gamma_0(33) of weight 2 and dimension 9 over Rational Field Full modular symbols space for Gamma_0(33) of weight 2 and dimension 9 over Rational Field
Basis(EisensteinSubspace(M))
 [ {oo, 0} + {1/3, 4/11}, {-1/6, 0} + 4*{-1/15, 0} + -6*{-1/22, 0} + 6*{-1/24, 0} + {-1/27, 0} + 4*{-1/30, 0} + 14*{1/3, 4/11}, {-1/12, 0} + -1*{-1/15, 0} + 3*{-1/22, 0} + -2*{-1/24, 0} + -1*{-1/30, 0} + -7*{1/3, 4/11} ] [ {oo, 0} + {1/3, 4/11}, {-1/6, 0} + 4*{-1/15, 0} + -6*{-1/22, 0} + 6*{-1/24, 0} + {-1/27, 0} + 4*{-1/30, 0} + 14*{1/3, 4/11}, {-1/12, 0} + -1*{-1/15, 0} + 3*{-1/22, 0} + -2*{-1/24, 0} + -1*{-1/30, 0} + -7*{1/3, 4/11} ]
Basis(CuspidalSubspace(M))
 [ {-1/6, 0} + -1*{-1/30, 0}, {-1/12, 0} + -1*{-1/30, 0}, {-1/15, 0} + -1*{-1/30, 0}, {-1/22, 0} + -1*{-1/30, 0} + {1/3, 4/11}, {-1/24, 0} + -1*{-1/30, 0}, {-1/27, 0} + -1*{-1/30, 0} ] [ {-1/6, 0} + -1*{-1/30, 0}, {-1/12, 0} + -1*{-1/30, 0}, {-1/15, 0} + -1*{-1/30, 0}, {-1/22, 0} + -1*{-1/30, 0} + {1/3, 4/11}, {-1/24, 0} + -1*{-1/30, 0}, {-1/27, 0} + -1*{-1/30, 0} ]
Basis(NewSubspace(M))
 [ {oo, 0} + -4/5*{-1/15, 0} + 2/5*{-1/22, 0} + -2/5*{-1/24, 0} + -2/5*{-1/27, 0} + -4/5*{-1/30, 0} + 7/5*{1/3, 4/11}, {-1/6, 0} + -1*{-1/27, 0}, {-1/12, 0} + -1*{-1/15, 0} + {-1/22, 0} + -1*{-1/30, 0} + {1/3, 4/11} ] [ {oo, 0} + -4/5*{-1/15, 0} + 2/5*{-1/22, 0} + -2/5*{-1/24, 0} + -2/5*{-1/27, 0} + -4/5*{-1/30, 0} + 7/5*{1/3, 4/11}, {-1/6, 0} + -1*{-1/27, 0}, {-1/12, 0} + -1*{-1/15, 0} + {-1/22, 0} + -1*{-1/30, 0} + {1/3, 4/11} ]
Basis(OldSubspace(M))
 Exception (click to the left for traceback): ... Runtime error in 'OldSubspace': Argument 1 must be cuspidal. Traceback (most recent call last): File "", line 1, in File "/home/was/talks/2007-06-04-banff-modform-magma/sage_notebook/worksheets/modsymspaces/code/18.py", line 4, in print _support_.syseval(magma, ur'''Basis(OldSubspace(M))''') File "/home/was/s/local/lib/python2.5/site-packages/sage/server/support.py", line 252, in syseval return system.eval(cmd) File "/home/was/s/local/lib/python2.5/site-packages/sage/interfaces/magma.py", line 260, in eval raise RuntimeError, "Error evaluation Magma code.\nIN:%s\nOUT:%s"%(x, ans) RuntimeError: Error evaluation Magma code. IN:Basis(OldSubspace(M)); OUT: >> Basis(OldSubspace(M)); ^ Runtime error in 'OldSubspace': Argument 1 must be cuspidal.
Basis(OldSubspace(CuspidalSubspace(M)))
 [ {-1/6, 0} + -3*{-1/24, 0} + 2*{-1/27, 0}, {-1/12, 0} + -3*{-1/24, 0} + {-1/27, 0} + {-1/30, 0}, {-1/15, 0} + -2*{-1/24, 0} + {-1/27, 0}, {-1/22, 0} + -2*{-1/24, 0} + {-1/30, 0} + {1/3, 4/11} ] [ {-1/6, 0} + -3*{-1/24, 0} + 2*{-1/27, 0}, {-1/12, 0} + -3*{-1/24, 0} + {-1/27, 0} + {-1/30, 0}, {-1/15, 0} + -2*{-1/24, 0} + {-1/27, 0}, {-1/22, 0} + -2*{-1/24, 0} + {-1/30, 0} + {1/3, 4/11} ]
HeckeOperator(OldSubspace(CuspidalSubspace(M)),3)
 [-4 0 3 6] [-2 -1 1 5] [-3 2 1 2] [-1 -1 1 2] [-4 0 3 6] [-2 -1 1 5] [-3 2 1 2] [-1 -1 1 2]

# Newforms Corresponding to Simple Modular Symbols Factors

M := ModularSymbols(389,2,1); M
 Full modular symbols space for Gamma_0(389) of weight 2 and dimension 33 over Rational Field Full modular symbols space for Gamma_0(389) of weight 2 and dimension 33 over Rational Field
time D := Decomposition(M,2); D
 [ Modular symbols space for Gamma_0(389) of weight 2 and dimension 1 over Rational Field, Modular symbols space for Gamma_0(389) of weight 2 and dimension 1 over Rational Field, Modular symbols space for Gamma_0(389) of weight 2 and dimension 2 over Rational Field, Modular symbols space for Gamma_0(389) of weight 2 and dimension 3 over Rational Field, Modular symbols space for Gamma_0(389) of weight 2 and dimension 6 over Rational Field, Modular symbols space for Gamma_0(389) of weight 2 and dimension 20 over Rational Field ] CPU time: 0.00 s, Wall time: 0.16 s [ Modular symbols space for Gamma_0(389) of weight 2 and dimension 1 over Rational Field, Modular symbols space for Gamma_0(389) of weight 2 and dimension 1 over Rational Field, Modular symbols space for Gamma_0(389) of weight 2 and dimension 2 over Rational Field, Modular symbols space for Gamma_0(389) of weight 2 and dimension 3 over Rational Field, Modular symbols space for Gamma_0(389) of weight 2 and dimension 6 over Rational Field, Modular symbols space for Gamma_0(389) of weight 2 and dimension 20 over Rational Field ] CPU time: 0.00 s, Wall time: 0.16 s
for A in D do
if IsCuspidal(A) then
print qEigenform(A, 4);
end if;
end for;
 q - 2*q^2 - 2*q^3 + O(q^4) q + a*q^2 + (a - 2)*q^3 + O(q^4) q + a*q^2 - a*q^3 + O(q^4) q + a*q^2 + (a^5 + 3*a^4 - 2*a^3 - 8*a^2 + a + 2)*q^3 + O(q^4) q + a*q^2 + (-20146763/1097385680*a^19 + 20466323/219477136*a^18 + 119884773/274346420*a^17 - 753611053/274346420*a^16 - 381358355/109738568*a^15 + 3611475535/109738568*a^14 + 6349339639/1097385680*a^13 - 56878934241/274346420*a^12 + 71555185319/1097385680*a^11 + 163330998525/219477136*a^10 - 223188336749/548692840*a^9 - 169878973265/109738568*a^8 + 265944624817/274346420*a^7 + 199655892261/109738568*a^6 - 1167579836501/1097385680*a^5 - 619178000979/548692840*a^4 + 261766056911/548692840*a^3 + 4410485304/13717321*a^2 - 14646077211/274346420*a - 1604641167/68586605)*q^3 + O(q^4) q - 2*q^2 - 2*q^3 + O(q^4) q + a*q^2 + (a - 2)*q^3 + O(q^4) q + a*q^2 - a*q^3 + O(q^4) q + a*q^2 + (a^5 + 3*a^4 - 2*a^3 - 8*a^2 + a + 2)*q^3 + O(q^4) q + a*q^2 + (-20146763/1097385680*a^19 + 20466323/219477136*a^18 + 119884773/274346420*a^17 - 753611053/274346420*a^16 - 381358355/109738568*a^15 + 3611475535/109738568*a^14 + 6349339639/1097385680*a^13 - 56878934241/274346420*a^12 + 71555185319/1097385680*a^11 + 163330998525/219477136*a^10 - 223188336749/548692840*a^9 - 169878973265/109738568*a^8 + 265944624817/274346420*a^7 + 199655892261/109738568*a^6 - 1167579836501/1097385680*a^5 - 619178000979/548692840*a^4 + 261766056911/548692840*a^3 + 4410485304/13717321*a^2 - 14646077211/274346420*a - 1604641167/68586605)*q^3 + O(q^4)
Parent(qEigenform(D))
 Power series ring in q over Univariate Quotient Polynomial Algebra in a over Rational Field with modulus a^3 - 4*a - 2 Power series ring in q over Univariate Quotient Polynomial Algebra in a over Rational Field with modulus a^3 - 4*a - 2

# Atkin-Lehner Operators

M := ModularSymbols(33,2,1); M
 Full modular symbols space for Gamma_0(33) of weight 2 and dimension 6 over Rational Field Full modular symbols space for Gamma_0(33) of weight 2 and dimension 6 over Rational Field
AtkinLehnerOperator(M, 3)
 [ 0 0 0 0 0 -1] [ 0 -1 0 0 0 0] [ 0 0 0 0 -1 0] [ 0 0 -1 1 -1 0] [ 0 0 -1 0 0 0] [-1 0 0 0 0 0] [ 0 0 0 0 0 -1] [ 0 -1 0 0 0 0] [ 0 0 0 0 -1 0] [ 0 0 -1 1 -1 0] [ 0 0 -1 0 0 0] [-1 0 0 0 0 0]
S := CuspidalSubspace(M);
AtkinLehnerOperator(S, 3)
 [-1 1 0] [ 0 1 0] [ 0 0 1] [-1 1 0] [ 0 1 0] [ 0 0 1]