The verbosity level for modular symbols computations can be set using
the command SetVerbose("ModularSymbols",n), where n is 0
(silent), 1 (verbose), or 2 (very verbose). (The verbose
flag for modular symbols was called ModularForms in Magma
version 2.7.)
We compute a basis for the space of modular symbols
of weight 2, level 11 and trivial character.
> M := ModularSymbols(11,2); M;
Full modular symbols space for Gamma_0(11) of weight 2 and dimension 3
over Rational Field
> Type(M);
ModSym
> Basis(M);
[
{-1/7, 0},
{-1/5, 0},
{oo, 0}
]
> M!<1,[1/5,1]>;
{-1/5, 0}
> // the modular symbols {1/5,1} and {-1/5,0} are equal.
> Type(M!<1,[1/5,1]>);
ModSymElt
Using SetVerbose, we can see how the computation progresses.
> SetVerbose("ModularSymbols",2);
> M := ModularSymbols(11,2);
Computing space of modular symbols of level 11 and weight 2....
I. Manin symbols list.
(0 s)
II. 2-term relations.
(0.019 s)
III. 3-term relations.
Computing quotient by 4 relations.
(0.009 s)
(total time to create space = 0.029 s)
> SetVerbose("ModularSymbols",0);
Modular symbols can be input using Cusps().
> M := ModularSymbols(11,2);
> P := Cusps(); P;
Set of all cusps
> Type(P);
SetCsp
> oo := P!Infinity();
> M!<1,[oo,P!0]>; // note that 0 must be coerced into P.
{oo, 0}
> M!<1,[1/5,1]> + M!<1,[oo,P!0]>;
{-1/5, 0} + {oo, 0}
Modular symbols are also defined over finite fields.
> M := ModularSymbols(11,2,GF(7)); M;
Full modular symbols space for Gamma_0(11) of weight 2 and dimension 3
over Finite field of size 7
> BaseField(M);
Finite field of size 7
> 7*M!<1,[1/5,1]>;
0
[Next][Prev] [Right] [Left] [Up] [Index] [Root]