The functions VectorSpace, DualVectorSpace, and Lattice return the underlying vector space, dual vector space, and lattice associated to a space of modular symbols. A space of modular symbols is represented internally as a subspace of a vector space, and a subspace of the linear dual of the vector space. To carry along the subspace of the linear dual is useful in many computations; one example is efficient computation of Hecke operators. When the base field is Q, the lattice comes from the natural integral structure on modular symbols.
The vector space V underlying the space of modular symbols M, the map V -> M, and the map M -> V.
The subspace of the linear dual of VectorSpace(AmbientSpace(M)) that is isomorphic to the space of modular symbols M as a module over the Hecke algebra.
The lattice generated by the integral modular symbols in the vector space representation of the space of modular symbols M. This is the lattice generated by all modular symbols XiYk - 2 - i{a, b}. The base field of M must be RationalField().
> M := ModularSymbols(DirichletGroup(11).1,3); M; Full modular symbols space of level 11, weight 3, character $.1, and dimension 4 over Rational Field > VectorSpace(M); Full Vector space of degree 4 over Rational Field Mapping from: Full Vector space of degree 4 over Rational Field to ModSym: M given by a rule [no inverse] Mapping from: ModSym: M to Full Vector space of degree 4 over Rational Field given by a rule [no inverse] > Basis(VectorSpace(CuspidalSubspace(M))); [ ( 0 1 0 -1), ( 0 0 1 -1) ] > Basis(VectorSpace(EisensteinSubspace(M))); [ ( 1 0 -2/3 -1/3), ( 0 1 -5 -2) ] > Lattice(CuspidalSubspace(M)); Lattice of rank 2 and degree 4 Basis: ( 0 1 -1 0) ( 0 1 1 -2) Basis Denominator: 2 Mapping from: Lattice of rank 2 and degree 4 to Modular symbols space of level 11, weight 3, character $.1, and dimension 2 over Rational Field given by a rule [no inverse] > Basis(Lattice(EisensteinSubspace(M))); [ ( 0 1/2 -5/2 -1), ( 3 -1/2 1/2 0) ]