Eisenstein series, optimized

sage.modular.modform.eis_series_cython.Ek_ZZ(k, prec=10)[source]

Return list of prec integer coefficients of the weight k Eisenstein series of level 1, normalized so the coefficient of q is 1, except that the 0th coefficient is set to 1 instead of its actual value.

INPUT:

  • k – integer

  • prec – integer

OUTPUT: list of integers

EXAMPLES:

sage: from sage.modular.modform.eis_series_cython import Ek_ZZ
sage: Ek_ZZ(4,10)
[1, 1, 9, 28, 73, 126, 252, 344, 585, 757]
sage: [sigma(n,3) for n in [1..9]]
[1, 9, 28, 73, 126, 252, 344, 585, 757]
sage: Ek_ZZ(10,10^3) == [1] + [sigma(n,9) for n in range(1,10^3)]
True
>>> from sage.all import *
>>> from sage.modular.modform.eis_series_cython import Ek_ZZ
>>> Ek_ZZ(Integer(4),Integer(10))
[1, 1, 9, 28, 73, 126, 252, 344, 585, 757]
>>> [sigma(n,Integer(3)) for n in (ellipsis_range(Integer(1),Ellipsis,Integer(9)))]
[1, 9, 28, 73, 126, 252, 344, 585, 757]
>>> Ek_ZZ(Integer(10),Integer(10)**Integer(3)) == [Integer(1)] + [sigma(n,Integer(9)) for n in range(Integer(1),Integer(10)**Integer(3))]
True
sage.modular.modform.eis_series_cython.eisenstein_series_poly(k, prec=10)[source]

Return the \(q\)-expansion up to precision prec of the weight \(k\) Eisenstein series, as a FLINT Fmpz_poly object, normalised so the coefficients are integers with no common factor.

Used internally by the functions eisenstein_series_qexp() and victor_miller_basis(); see the docstring of the former for further details.

EXAMPLES:

sage: from sage.modular.modform.eis_series_cython import eisenstein_series_poly
sage: eisenstein_series_poly(12, prec=5)
5  691 65520 134250480 11606736960 274945048560
>>> from sage.all import *
>>> from sage.modular.modform.eis_series_cython import eisenstein_series_poly
>>> eisenstein_series_poly(Integer(12), prec=Integer(5))
5  691 65520 134250480 11606736960 274945048560