The following functions compute the cuspidal, Eisenstein,
and new subspaces, along with the complement of a subspace.
First we compute the cuspidal subspace of the space
of modular symbols for Γ
0(11).
> M := ModularSymbols(11,2); M;
Full modular symbols space for Gamma_0(11) of weight 2 and dimension 3
over Rational Field
> IsCuspidal(M);
false
> C := CuspidalSubspace(M); C;
Modular symbols space for Gamma_0(11) of weight 2 and dimension 2 over
Rational Field
> IsCuspidal(C);
true
Next we compute the Eisenstein subspace.
> IsEisenstein(C);
false
> E := EisensteinSubspace(M); E;
Modular symbols space for Gamma_0(11) of weight 2 and dimension 1 over
Rational Field
> IsEisenstein(E);
true
> E + C eq M;
true
The Eisenstein subspace is the complement of the cuspidal subspace,
and conversely.
> E eq Complement(C);
true
> C eq Complement(E);
true
> M := ModularSymbols("37B"); M;
Modular symbols space for Gamma_0(37) of weight 2 and dimension 2 over
Rational Field
> BoundaryMap(M);
[0 0]
[0 0]
> A := AmbientSpace(M);
> BoundaryMap(A);
[ 0 0]
[ 0 0]
[ 0 0]
[ 0 0]
[ 1 -1]
Observe that the Eisenstein subspace of A is not in the
kernel of the boundary map.
> Basis(VectorSpace(EisensteinSubspace(A)));
[
(0 0 0 1 3)
]
[Next][Prev] [Right] [Left] [Up] [Index] [Root]