8.2.1 modular.modsym.modsym - Create modular symbols spaces

The module modular.modsym.modsym defines the following functions:

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: 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 $ \Gamma_0(N)$ :

sage: ModularSymbols(1,12,-1).dimension()
1
sage: ModularSymbols(11,4, sign=1)
Full Modular Symbols space for Gamma_0(11) of weight 4 with
sign 1 and dimension 4 over Rational Field

We create some spaces for $ \Gamma_1(N)$ .

sage: ModularSymbols(Gamma1(13),2)
Full Modular Symbols space for Gamma_1(13) of weight 2 with
sign 0 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: 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_6], sign 0, and dimension 4 over Cyclotomic Field of
order 6 and degree 2
sage: f = M.T(2).charpoly(); f
x^4 + (-zeta_6 - 1)*x^3 + (-8*zeta_6)*x^2 + (10*zeta_6 - 5)*x +
21*zeta_6 - 21
sage: f.factor()
[(x + -2*zeta_6 - 1, 1), (x + -zeta_6 - 2, 1), (x + zeta_6 + 1,
2)]

More examples of spaces with character:

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], sign 0, 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

set_modsym_print_mode( [mode=manin])

Set the mode for printing of elements of modular symbols spaces.

INPUT:
    mode -- a string.  The possibilities are as follows:
            * 'manin'   -- (the default) formal sums of Manin
symbols [P(X,Y),(u,v)]
            * 'modular' -- formal sums of Modular symbols
P(X,Y)*{alpha,beta},
                           where alpha and beta are cusps
            * 'vector'  -- as vectors on the basis for the
ambient space

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