Module: sage.modular.modform.eis_series
Eisenstein Series
Module-level Functions
character, k) |
Compute and return a list of all parameters
that
define the Eisenstein series with given character and weight
.
Only the parity of
is relevant.
If character is an integer
, then the parameters for
are computed instead. Then the condition is that
.
sage: sage.modular.modform.eis_series.compute_eisenstein_params(DirichletGroup(30).0, 3) []
sage: sage.modular.modform.eis_series.compute_eisenstein_params(DirichletGroup(30).0, 4) [([1, 1, 1], [1, 1, 1], 1), ([1, 1, 1], [1, 1, 1], 2), ([1, 1, 1], [1, 1, 1], 3), ([1, 1, 1], [1, 1, 1], 5), ([1, 1, 1], [1, 1, 1], 6), ([1, 1, 1], [1, 1, 1], 10), ([1, 1, 1], [1, 1, 1], 15), ([1, 1, 1], [1, 1, 1], 30)]
weight, [prec=53], [max_imaginary_part=0], [max_asymp_coeffs=40]) |
Return the L-series of the weight
Eisenstein series
on
.
This actually returns an interface to Tim Dokchitser's program for computing with the L-series of the Eisenstein series
Input:
We compute with the L-series of
and then
:
sage: L = eisenstein_series_lseries(16) sage: L(1) -0.291657724743873 sage: L = eisenstein_series_lseries(20) sage: L(2) -5.02355351645987
k, [prec=10], [K=Rational Field]) |
Return the
-expansion of the normalized weight
Eisenstein
series to precision prec in the ring
. (The normalization
chosen here is the one that forces the coefficient of
to be
1.)
Here's a rough description of how the algorithm works: we know
. Now, we basically just
compute all the
simultaneously, as
is
multiplicative.
Input:
sage: eisenstein_series_qexp(2,5) -1/24 + q + 3*q^2 + 4*q^3 + 7*q^4 + O(q^5) sage: eisenstein_series_qexp(2,0) O(q^0) sage: eisenstein_series_qexp(2,5,GF(7)) 2 + q + 3*q^2 + 4*q^3 + O(q^5)
Author Log: