|
The following functions should only be called on modular symbols
spaces that are cuspidal. For q-expansions of Eisenstein
series, use the modular forms functions instead (see the example
below).
Eigenform(M) : ModSym -> RngSerPowElt
qEigenform(M, prec) : ModSym, RngIntElt -> RngSerPowElt
qEigenform(M) : ModSym -> RngSerPowElt
PowerSeries(M, prec) : ModSym, RngIntElt -> RngSerPowElt
PowerSeries(M) : ModSym -> RngSerPowElt
The q-expansion of one of the Galois-conjugate newforms associated
to the irreducible cuspidal space M of modular symbols, computed to
absolute precision prec (which defaults to the highest
precision computed in previous calls to this intrinsic,
or 8 if none have been computed).
The coefficients of the q-expansion lie
in a quotient of a polynomial extension of the base field of M. In
most cases, it is necessary for M to have been defined using NewformDecomposition.
Al: MonStgElt Default: em "Newform"
The reduced row-echelon basis of q-expansions for the space of
modular forms associated to M, where K is the base field of M.
The absolute precision of the q-expansions is prec.
The optional parameter Al can take the values "Newform"
and "Universal". The default is "Newform", which computes
a basis of q-expansions by finding a decomposition of M into
subspaces corresponding to newforms, computing their q-expansions,
and then taking all of their images under the degeneracy maps. If
Al := "Universal" then the algorithm of Section 4.3 of
[Mer94] is used. This latter algorithm
does not require computing a newform decomposition of M, but
requires computing the action of many more Hecke operators.
Consequently, in practice, our implementation of
Merel's algorithm is usually less efficient than our
implementation of the newform algorithm.
qIntegralBasis(M, prec) : ModSym, RngIntElt -> SeqEnum
qIntegralBasis(seq, prec) : [ModSym], RngIntElt -> SeqEnum
Al: MonStgElt Default: em "Newform"
The reduced integral basis of q-expansions for the
space of modular forms associated to the given space M of modular symbols
(or the given sequence of spaces). The q-expansions are computed to absolute
precision prec. The base field of M must be either the
rationals or a cyclotomic field.
The sequence of Hecke eigenvalues [a2, a3, a5, a7, ..., ap]
attached to the space of modular symbols M, where p is the largest prime less than or equal to
prec. Let K be the base field of M. Then the aell
either lie in K or an extension of K (which may be constructed
either as a number field or as a quotient of K[x]). We assume that M
corresponds to a single Galois-conjugacy class of newforms.
First we compute a q-basis and a representative
newform for the two-dimensional space S 2(Γ 0(23)).
We work in the +1 quotient of modular symbols since, for
the purpose of computing q-expansions, nothing is lost
and many algorithms are more efficient.
> M := CuspidalSubspace(ModularSymbols(23,2, +1));
> qExpansionBasis(M);
[
q - q^3 - q^4 - 2*q^6 + 2*q^7 + O(q^8),
q^2 - 2*q^3 - q^4 + 2*q^5 + q^6 + 2*q^7 + O(q^8)
]
> f := qEigenform(M,6); f;
q + a*q^2 + (-2*a - 1)*q^3 + (-a - 1)*q^4 + 2*a*q^5 + O(q^6)
> Parent(f);
Power series ring in q over Univariate Quotient Polynomial Algebra
in a over Rational Field with modulus a^2 + a - 1
> PowerSeries(M);
q + a*q^2 + (-2*a - 1)*q^3 + (-a - 1)*q^4 + 2*a*q^5 + (a - 2)*q^6 +
(2*a + 2)*q^7 + O(q^8)
> SystemOfEigenvalues(M, 7);
[
a,
-2*a - 1,
2*a,
2*a + 2
]
Next we compare an integral and rational basis of q-expansions
for S 2(Γ 0(65)), computed using modular symbols.
> S := CuspidalSubspace(ModularSymbols(65,2,+1));
> qExpansionBasis(S);
[
q + 1/3*q^6 + 1/3*q^7 + O(q^8),
q^2 - 1/3*q^6 + 2/3*q^7 + O(q^8),
q^3 - 4/3*q^6 + 2/3*q^7 + O(q^8),
q^4 - 1/3*q^6 + 5/3*q^7 + O(q^8),
q^5 + 5/3*q^6 + 2/3*q^7 + O(q^8)
]
> qIntegralBasis(S);
[
q + q^5 + 2*q^6 + q^7 + O(q^8),
q^2 + 2*q^5 + 3*q^6 + 2*q^7 + O(q^8),
q^3 + 2*q^5 + 2*q^6 + 2*q^7 + O(q^8),
q^4 + 2*q^5 + 3*q^6 + 3*q^7 + O(q^8),
3*q^5 + 5*q^6 + 2*q^7 + O(q^8)
]
If you're interested in q-expansions of
Eisenstein series, see the chapter on modular forms.
For example:
> E := EisensteinSubspace(ModularForms(65,2));
> Basis(E);
[
1 + O(q^8),
q + 3*q^2 + 4*q^3 + 7*q^4 + 12*q^6 + 8*q^7 + O(q^8),
q^5 + O(q^8)
]
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|