\(L\)-series of modular abelian varieties¶
AUTHOR:
William Stein (2007-03)
- class sage.modular.abvar.lseries.Lseries(abvar)[source]¶
Bases:
SageObject
Base class for \(L\)-series attached to modular abelian varieties.
This is a common base class for complex and \(p\)-adic \(L\)-series of modular abelian varieties.
- abelian_variety()[source]¶
Return the abelian variety that this \(L\)-series is attached to.
OUTPUT: a modular abelian variety
EXAMPLES:
sage: J0(11).padic_lseries(7).abelian_variety() Abelian variety J0(11) of dimension 1
>>> from sage.all import * >>> J0(Integer(11)).padic_lseries(Integer(7)).abelian_variety() Abelian variety J0(11) of dimension 1
J0(11).padic_lseries(7).abelian_variety()
- class sage.modular.abvar.lseries.Lseries_complex(abvar)[source]¶
Bases:
Lseries
A complex \(L\)-series attached to a modular abelian variety.
EXAMPLES:
sage: A = J0(37) sage: A.lseries() Complex L-series attached to Abelian variety J0(37) of dimension 2
>>> from sage.all import * >>> A = J0(Integer(37)) >>> A.lseries() Complex L-series attached to Abelian variety J0(37) of dimension 2
A = J0(37) A.lseries()
- lratio()[source]¶
Return the rational part of this \(L\)-function at the central critical value 1.
OUTPUT: a rational number
EXAMPLES:
sage: A, B = J0(43).decomposition() sage: A.lseries().rational_part() 0 sage: B.lseries().rational_part() 2/7
>>> from sage.all import * >>> A, B = J0(Integer(43)).decomposition() >>> A.lseries().rational_part() 0 >>> B.lseries().rational_part() 2/7
A, B = J0(43).decomposition() A.lseries().rational_part() B.lseries().rational_part()
- rational_part()[source]¶
Return the rational part of this \(L\)-function at the central critical value 1.
OUTPUT: a rational number
EXAMPLES:
sage: A, B = J0(43).decomposition() sage: A.lseries().rational_part() 0 sage: B.lseries().rational_part() 2/7
>>> from sage.all import * >>> A, B = J0(Integer(43)).decomposition() >>> A.lseries().rational_part() 0 >>> B.lseries().rational_part() 2/7
A, B = J0(43).decomposition() A.lseries().rational_part() B.lseries().rational_part()
- vanishes_at_1()[source]¶
Return
True
if \(L(1)=0\) and returnFalse
otherwise.OUTPUT: boolean
EXAMPLES:
Numerically, the \(L\)-series for \(J_0(389)\) appears to vanish at 1. This is confirmed by this algebraic computation:
sage: L = J0(389)[0].lseries(); L Complex L-series attached to Simple abelian subvariety 389a(1,389) of dimension 1 of J0(389) sage: L(1) # long time (2s) abstol 1e-10 -1.33139759782370e-19 sage: L.vanishes_at_1() True
>>> from sage.all import * >>> L = J0(Integer(389))[Integer(0)].lseries(); L Complex L-series attached to Simple abelian subvariety 389a(1,389) of dimension 1 of J0(389) >>> L(Integer(1)) # long time (2s) abstol 1e-10 -1.33139759782370e-19 >>> L.vanishes_at_1() True
L = J0(389)[0].lseries(); L L(1) # long time (2s) abstol 1e-10 L.vanishes_at_1()
Numerically, one might guess that the \(L\)-series for \(J_1(23)\) and \(J_1(31)\) vanish at 1. This algebraic computation shows otherwise:
sage: L = J1(23).lseries(); L Complex L-series attached to Abelian variety J1(23) of dimension 12 sage: L(1) # long time (about 3 s) 0.0001295198... sage: L.vanishes_at_1() False sage: abs(L(1, prec=100)- 0.00012951986142702571478817757148) < 1e-32 # long time (about 3 s) True sage: L = J1(31).lseries(); L Complex L-series attached to Abelian variety J1(31) of dimension 26 sage: abs(L(1) - 3.45014267547611e-7) < 1e-15 # long time (about 8 s) True sage: L.vanishes_at_1() # long time (about 6 s) False
>>> from sage.all import * >>> L = J1(Integer(23)).lseries(); L Complex L-series attached to Abelian variety J1(23) of dimension 12 >>> L(Integer(1)) # long time (about 3 s) 0.0001295198... >>> L.vanishes_at_1() False >>> abs(L(Integer(1), prec=Integer(100))- RealNumber('0.00012951986142702571478817757148')) < RealNumber('1e-32') # long time (about 3 s) True >>> L = J1(Integer(31)).lseries(); L Complex L-series attached to Abelian variety J1(31) of dimension 26 >>> abs(L(Integer(1)) - RealNumber('3.45014267547611e-7')) < RealNumber('1e-15') # long time (about 8 s) True >>> L.vanishes_at_1() # long time (about 6 s) False
L = J1(23).lseries(); L L(1) # long time (about 3 s) L.vanishes_at_1() abs(L(1, prec=100)- 0.00012951986142702571478817757148) < 1e-32 # long time (about 3 s) L = J1(31).lseries(); L abs(L(1) - 3.45014267547611e-7) < 1e-15 # long time (about 8 s) L.vanishes_at_1() # long time (about 6 s)
- class sage.modular.abvar.lseries.Lseries_padic(abvar, p)[source]¶
Bases:
Lseries
A \(p\)-adic \(L\)-series attached to a modular abelian variety.
- power_series(n=2, prec=5)[source]¶
Return the \(n\)-th approximation to this \(p\)-adic \(L\)-series as a power series in \(T\).
Each coefficient is a \(p\)-adic number whose precision is provably correct.
NOTE: This is not yet implemented.
EXAMPLES:
sage: L = J0(37)[0].padic_lseries(5) sage: L.power_series() Traceback (most recent call last): ... NotImplementedError sage: L.power_series(3,7) Traceback (most recent call last): ... NotImplementedError
>>> from sage.all import * >>> L = J0(Integer(37))[Integer(0)].padic_lseries(Integer(5)) >>> L.power_series() Traceback (most recent call last): ... NotImplementedError >>> L.power_series(Integer(3),Integer(7)) Traceback (most recent call last): ... NotImplementedError
L = J0(37)[0].padic_lseries(5) L.power_series() L.power_series(3,7)