7.3.1 sage.modular.modsym.modsym - Create modular symbols spaces

The module sage.modular.modsym.modsym defines the following methods:

ModularSymbols( [group=Rational Field], [weight=0], [sign=2], [base_field=1])

Create an ambient space of modular symbols.

INPUT:
    group -- The congruence subgroup or a Dirichlet character
eps
             
    weight -- int, the weight, which must be >= 2.
    
    sign -- int, The sign of the involution on modular symbols
            induced by complex conjugation.  The default is 0,
            which means"no sign", i.e., take the
            whole space.
            
    base_field -- field (default is the field of rational
numbers)
                  The base field is ignored if group is a
                  character.

First we create some spaces with trivial character:

    sage: from sage.modular.congroup import *
    sage: ModularSymbols(Gamma0(11),2).dimension()
    3
    sage: 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:
    sage: ModularSymbols(1,12,-1).dimension()
    1
    sage: 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).
    sage: ModularSymbols(Gamma1(13),2)
    Full Modular Symbols space for Gamma_1(13) of weight 2 and
dimension 15 over Rational Field
    sage: ModularSymbols(Gamma1(13),2, sign=1).dimension()
    13
    sage: ModularSymbols(Gamma1(13),2, sign=-1).dimension()
    2
    sage: [ModularSymbols(Gamma1(7),k).dimension() for k in [2,3,4,5]]
    [5, 8, 12, 16]
    sage: ModularSymbols(Gamma1(5),11).dimension()
    20
    
We create a space with character:
    sage: from sage.modular.dirichlet import DirichletGroup
    sage: e = DirichletGroup(13).gen()**2
    sage: e.order()
    6
    sage: 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
    sage: 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
    sage: 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:
    sage: from sage.modular.dirichlet import DirichletGroup
    sage: from sage.rings.rings import RationalField
    sage: e = DirichletGroup(5, RationalField()).gen(); e
    [-1]
    sage: m = ModularSymbols(e, 2); m
    Full Modular Symbols space of level 5, weight 2, character
[-1] and dimension 2 over Rational Field
    
    sage: m.T(2).charpoly()
    x^2 - 1
    sage: m = ModularSymbols(e, 6); m.dimension()
    6
    sage: m.T(2).charpoly()
    x^6 - 873*x^4 - 82632*x^2 - 1860496

See About this document... for information on suggesting changes.