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[4]))
       
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]