ModularSymbols(group=1,
weight=2,
sign=0,
base_field=Rational Field)
Create an ambient space of modular symbols.
INPUT:
group -- the congruence subgroup; one can also put a Dirichlet
character eps here for modular symbols for eps
weight -- int, the weight, which must be >= 2.
sign -- the sign of the involution eta induced by complex conjugation.
The default is 0, which means "no sign", i.e., take the
whole space.
base_field -- a field (default is the rational numbers)
This is ignored if group is a character.
EXAMPLES:
First we create some spaces with trivial character:
>>> from sage.modular.congroup import *
>>> ModularSymbols(Gamma0(11),2).dimension()
3
>>> ModularSymbols(Gamma0(1),12).dimension()
3
If we give an integer N for the congruence subgroup, it defaults
to Gamma0(N), since this is such a common case:
>>> ModularSymbols(1,12,-1).dimension()
1
>>> ModularSymbols(11,4, sign=1)
Full Modular Symbols space for Gamma_0(11) of weight 4 and dimension 4 over Rational Field
We create some spaces for Gamma1(N).
>>> ModularSymbols(Gamma1(13),2)
Full Modular Symbols space for Gamma_1(13) of weight 2 and dimension 15 over Rational Field
>>> ModularSymbols(Gamma1(13),2, sign=1).dimension()
13
>>> ModularSymbols(Gamma1(13),2, sign=-1).dimension()
2
>>> [ModularSymbols(Gamma1(7),k).dimension() for k in [2,3,4,5]]
[5, 8, 12, 16]
>>> ModularSymbols(Gamma1(5),11).dimension()
20
We create a space with character:
>>> from sage.modular.dirichlet import DirichletGroup
>>> e = DirichletGroup(13).gen()**2
>>> e.order()
6
>>> M = ModularSymbols(e, 2); M
Full Modular Symbols space of level 13, weight 2, character [zeta_12^2] and dimension 4 over Cyclotomic Field of order 12 and degree 4
>>> f = M.T(2).charpoly(); f
x^4 + (-zeta_12^2 - 1)*x^3 + (-8*zeta_12^2)*x^2 + (10*zeta_12^2 - 5)*x + 21*zeta_12^2 - 21
>>> f.factor()
[(x + -2*zeta_12^2 - 1, 1), (x + -zeta_12^2 - 2, 1), (x + zeta_12^2 + 1, 2)]
More examples of spaces with character:
>>> from sage.modular.dirichlet import DirichletGroup
>>> from sage.rings.rings import RationalField
>>> e = DirichletGroup(5, RationalField()).gen(); e
[-1]
>>> m = ModularSymbols(e, 2); m
Full Modular Symbols space of level 5, weight 2, character [-1] and dimension 2 over Rational Field
>>> m.T(2).charpoly()
x^2 - 1
>>> m = ModularSymbols(e, 6); m.dimension()
6
>>> m.T(2).charpoly()
x^6 - 873*x^4 - 82632*x^2 - 1860496
-
|