Basis for the space of modular symbols M.
First suppose that the space of modular symbols M equals AmbientSpace(M). Then this intrinsic returns a basis x1, ..., xn for M such that Z x1 + ... + Z xn is the Z-submodule of M generated by all modular symbols Xi.Yk - 2 - i{α, β} with i=0, ..., k - 2 and α, β∈P1(Q). If M is not AmbientSpace(M), then this intrinsic returns a Z-basis for M ∩(Z x1 + ... + Z xn), where x1, ..., xn is an integral basis for AmbientSpace(M). The base field of M must be Q.
> M := ModularSymbols(1,12);
> Basis(M);
[
X^10*{0, oo},
X^8*Y^2*{0, oo},
X^9*Y*{0, oo}
]
> IntegralBasis(M);
[
1/48*X^9*Y*{0, oo},
1/14*X^8*Y^2*{0, oo},
X^10*{0, oo}
]
IntegralBasis(M) is a basis for the Z-module spanned by the following symbols:
> R<X,Y> := PolynomialRing(Rationals(),2);
> [M!<X^i*Y^(10-i),[Cusps()|0,Infinity()]> : i in [0..10]];
[
-X^10*{0, oo},
X^9*Y*{0, oo},
-X^8*Y^2*{0, oo},
-25/48*X^9*Y*{0, oo},
9/14*X^8*Y^2*{0, oo},
5/12*X^9*Y*{0, oo},
-9/14*X^8*Y^2*{0, oo},
-25/48*X^9*Y*{0, oo},
X^8*Y^2*{0, oo},
X^9*Y*{0, oo},
X^10*{0, oo}
]
We can also compute an integral basis of a subspace.
> C := CuspidalSubspace(M);
> IntegralBasis(C);
[
1/48*X^9*Y*{0, oo},
1/14*X^8*Y^2*{0, oo}
]
In Remark 3 on page 69 of [Mer94], Merel says "it would be interesting to find a basis in terms of Manin symbols" for the Z-module of Eisenstein symbols (see Section Subspaces for the definition of EisensteinSubspace). Here are the first few examples in the case of level 1:
> M := ModularSymbols(1,12);
> E := EisensteinSubspace(M);
> IntegralBasis(E);
[
691*X^10*{0, oo} + 1620*X^8*Y^2*{0, oo}
]
> ManinSymbol(IntegralBasis(E)[1]);
[
<691*X^10, (0 1)>,
<1620*X^8*Y^2, (0 1)>
]
To more easily compute several examples, we define a function:
> function EisZ(k)
> E := EisensteinSubspace(ModularSymbols(1,k));
> B := IntegralBasis(E);
> return [ManinSymbol(z) : z in B];
> end function;
> EisZ(12);
[
[
<691*X^10, (0 1)>,
<1620*X^8*Y^2, (0 1)>
]
]
> EisZ(16);
[
[
<16380*X^12*Y^2, (0 1)>,
<3617*X^14, (0 1)>
]
]
> EisZ(18);
[
[
<43867*X^16, (0 1)>,
<270000*X^14*Y^2, (0 1)>
]
]
> EisZ(20);
[
[
<174611*X^18, (0 1)>,
<1349460*X^16*Y^2, (0 1)>
]
]
> EisZ(22);
[
[
<748125*X^18*Y^2, (0 1)>,
<77683*X^20, (0 1)>
]
]
Send me an email if you determine the basis in general.
In each example above the coefficient of Xk - 2 is,
up to sign, Numerator(Bernoulli(k)/k).