p-adic L-functions of elliptic curves

To an elliptic curve \(E\) over the rational numbers and a prime \(p\), one can associate a \(p\)-adic L-function; at least if \(E\) does not have additive reduction at \(p\). This function is defined by interpolation of L-values of \(E\) at twists. Through the main conjecture of Iwasawa theory it should also be equal to a characteristic series of a certain Selmer group.

If \(E\) is ordinary, then it is an element of the Iwasawa algebra \(\Lambda(\ZZ_p^\times) = \ZZ_p[\Delta][\![T]\!]\), where \(\Delta\) is the group of \((p-1)\)-st roots of unity in \(\ZZ_p^\times\), and \(T = [\gamma] - 1\) where \(\gamma = 1 + p\) is a generator of \(1 + p\ZZ_p\). (There is a slightly different description for \(p = 2\).)

One can decompose this algebra as the direct product of the subalgebras corresponding to the characters of \(\Delta\), which are simply the powers \(\tau^\eta\) (\(0 \le \eta \le p-2\)) of the Teichmueller character \(\tau: \Delta \to \ZZ_p^\times\). Projecting the L-function into these components gives \(p-1\) power series in \(T\), each with coefficients in \(\ZZ_p\).

If \(E\) is supersingular, the series will have coefficients in a quadratic extension of \(\QQ_p\), and the coefficients will be unbounded. In this case we have only implemented the series for \(\eta = 0\). We have also implemented the \(p\)-adic L-series as formulated by Perrin-Riou [BP], which has coefficients in the Dieudonne module \(D_pE = H^1_{dR}(E/\QQ_p)\) of \(E\). There is a different description by Pollack [Po] which is not available here.

According to the \(p\)-adic version of the Birch and Swinnerton-Dyer conjecture [MTT], the order of vanishing of the \(L\)-function at the trivial character (i.e. of the series for \(\eta = 0\) at \(T = 0\)) is just the rank of \(E(\QQ)\), or this rank plus one if the reduction at \(p\) is split multiplicative.

See [SW] for more details.

REFERENCES:

  • [MTT] B. Mazur, J. Tate, and J. Teitelbaum, On \(p\)-adic analogues of the conjectures of Birch and Swinnerton-Dyer, Inventiones mathematicae 84, (1986), 1-48.
  • [BP] Dominique Bernardi and Bernadette Perrin-Riou, Variante \(p\)-adique de la conjecture de Birch et Swinnerton-Dyer (le cas supersingulier), C. R. Acad. Sci. Paris, Ser I. Math, 317 (1993), no 3, 227-232.
  • [Po] Robert Pollack, On the \(p\)-adic L-function of a modular form at supersingular prime, Duke Math. J. 118 (2003), no 3, 523-558.
  • [SW] William Stein and Christian Wuthrich, Computations About Tate-Shafarevich Groups using Iwasawa theory, preprint 2009.

AUTHORS:

  • William Stein (2007-01-01): first version
  • Chris Wuthrich (22/05/2007): changed minor issues and added supersingular things
  • Chris Wuthrich (11/2008): added quadratic_twists
  • David Loeffler (01/2011): added nontrivial Teichmueller components
class sage.schemes.elliptic_curves.padic_lseries.pAdicLseries(E, p, use_eclib=True, normalize='L_ratio')

Bases: sage.structure.sage_object.SageObject

The \(p\)-adic L-series of an elliptic curve.

EXAMPLES: An ordinary example:

sage: e = EllipticCurve('389a')
sage: L = e.padic_lseries(5)
sage: L.series(0)
Traceback (most recent call last):
...
ValueError: n (=0) must be a positive integer
sage: L.series(1)
O(T^1)
sage: L.series(2)
O(5^4) + O(5)*T + (4 + O(5))*T^2 + (2 + O(5))*T^3 + (3 + O(5))*T^4 + O(T^5)
sage: L.series(3, prec=10)
O(5^5) + O(5^2)*T + (4 + 4*5 + O(5^2))*T^2 + (2 + 4*5 + O(5^2))*T^3 + (3 + O(5^2))*T^4 + (1 + O(5))*T^5 + O(5)*T^6 + (4 + O(5))*T^7 + (2 + O(5))*T^8 + O(5)*T^9 + O(T^10)
sage: L.series(2,quadratic_twist=-3)
2 + 4*5 + 4*5^2 + O(5^4) + O(5)*T + (1 + O(5))*T^2 + (4 + O(5))*T^3 + O(5)*T^4 + O(T^5)

A prime p such that E[p] is reducible:

sage: L = EllipticCurve('11a').padic_lseries(5)
sage: L.series(1)
5 + O(5^2) + O(T)
sage: L.series(2)
5 + 4*5^2 + O(5^3) + O(5^0)*T + O(5^0)*T^2 + O(5^0)*T^3 + O(5^0)*T^4 + O(T^5)
sage: L.series(3)
5 + 4*5^2 + 4*5^3 + O(5^4) + O(5)*T + O(5)*T^2 + O(5)*T^3 + O(5)*T^4 + O(T^5)

An example showing the calculation of nontrivial Teichmueller twists:

sage: E=EllipticCurve('11a1')
sage: lp=E.padic_lseries(7)
sage: lp.series(4,eta=1)
6 + 2*7^3 + 5*7^4 + O(7^6) + (4*7 + 2*7^2 + O(7^3))*T + (2 + 3*7^2 + O(7^3))*T^2 + (1 + 2*7 + 2*7^2 + O(7^3))*T^3 + (1 + 3*7^2 + O(7^3))*T^4 + O(T^5)
sage: lp.series(4,eta=2)
5 + 6*7 + 4*7^2 + 2*7^3 + 3*7^4 + 2*7^5 + O(7^6) + (6 + 4*7 + 7^2 + O(7^3))*T + (3 + 2*7^2 + O(7^3))*T^2 + (1 + 4*7 + 7^2 + O(7^3))*T^3 + (6 + 6*7 + 6*7^2 + O(7^3))*T^4 + O(T^5)
sage: lp.series(4,eta=3)
O(7^6) + (3 + 2*7 + 5*7^2 + O(7^3))*T + (5 + 4*7 + 5*7^2 + O(7^3))*T^2 + (3*7 + 7^2 + O(7^3))*T^3 + (2*7 + 7^2 + O(7^3))*T^4 + O(T^5)

(Note that the last series vanishes at \(T = 0\), which is consistent with

sage: E.quadratic_twist(-7).rank()
1

This proves that \(E\) has rank 1 over \(\QQ(\zeta_7)\).)

the load-dumps test:

sage: lp = EllipticCurve('11a').padic_lseries(5)
sage: lp == loads(dumps(lp))
True
alpha(prec=20)

Return a \(p\)-adic root \(\alpha\) of the polynomial \(x^2 - a_p x + p\) with \(ord_p(\alpha) < 1\). In the ordinary case this is just the unit root.

INPUT: - prec - positive integer, the \(p\)-adic precision of the root.

EXAMPLES: Consider the elliptic curve 37a:

sage: E = EllipticCurve('37a')

An ordinary prime:

sage: L = E.padic_lseries(5)
sage: alpha = L.alpha(10); alpha
3 + 2*5 + 4*5^2 + 2*5^3 + 5^4 + 4*5^5 + 2*5^7 + 5^8 + 5^9 + O(5^10)
sage: alpha^2 - E.ap(5)*alpha + 5
O(5^10)

A supersingular prime:

sage: L = E.padic_lseries(3)
sage: alpha = L.alpha(10); alpha
(1 + O(3^10))*alpha
sage: alpha^2 - E.ap(3)*alpha + 3
(O(3^10))*alpha^2 + (O(3^11))*alpha + (O(3^11))

A reducible prime:

sage: L = EllipticCurve('11a').padic_lseries(5)
sage: L.alpha(5)
1 + 4*5 + 3*5^2 + 2*5^3 + 4*5^4 + O(5^5)
elliptic_curve()

Return the elliptic curve to which this \(p\)-adic L-series is associated.

EXAMPLES:

sage: L = EllipticCurve('11a').padic_lseries(5)
sage: L.elliptic_curve()
Elliptic Curve defined by y^2 + y = x^3 - x^2 - 10*x - 20 over Rational Field
measure(a, n, prec, quadratic_twist=1, sign=1)

Return the measure on \(\ZZ_p^{\times}\) defined by

\(\mu_{E,\alpha}^+ ( a + p^n \ZZ_p ) = \frac{1}{\alpha^n} \left [\frac{a}{p^n}\right]^{+} - \frac{1}{\alpha^{n+1}} \left[\frac{a}{p^{n-1}}\right]^{+}\)

where \([\cdot]^{+}\) is the modular symbol. This is used to define this \(p\)-adic L-function (at least when the reduction is good).

The optional argument sign allows the minus symbol \([\cdot]^{-}\) to be substituted for the plus symbol.

The optional argument quadratic_twist replaces \(E\) by the twist in the above formula, but the twisted modular symbol is computed using a sum over modular symbols of \(E\) rather then finding the modular symbols for the twist. Quadratic twists are only implemented if the sign is \(+1\).

Note that the normalisation is not correct at this stage: use _quotient_of periods and _quotient_of periods_to_twist to correct.

Note also that this function does not check if the condition on the quadratic_twist=D is satisfied. So the result will only be correct if for each prime \(\ell\) dividing \(D\), we have \(ord_{\ell}(N)<= ord_{\ell}(D)\), where \(N\) is the conductor of the curve.

INPUT:

  • a - an integer
  • n - a non-negative integer
  • prec - an integer
  • quadratic_twist (default = 1) - a fundamental discriminant of a quadratic field, should be coprime to the conductor of \(E\)
  • sign (default = 1) - an integer, which should be \(\pm 1\).

EXAMPLES:

sage: E = EllipticCurve('37a')
sage: L = E.padic_lseries(5)
sage: L.measure(1,2, prec=9)
2 + 3*5 + 4*5^3 + 2*5^4 + 3*5^5 + 3*5^6 + 4*5^7 + 4*5^8 + O(5^9)
sage: L.measure(1,2, quadratic_twist=8,prec=15)
O(5^15)
sage: L.measure(1,2, quadratic_twist=-4,prec=15)
4 + 4*5 + 4*5^2 + 3*5^3 + 2*5^4 + 5^5 + 3*5^6 + 5^8 + 2*5^9 + 3*5^12 + 2*5^13 + 4*5^14 + O(5^15)

sage: E = EllipticCurve('11a1')
sage: a = E.quadratic_twist(-3).padic_lseries(5).measure(1,2,prec=15)
sage: b = E.padic_lseries(5).measure(1,2, quadratic_twist=-3,prec=15)
sage: a == b/E.padic_lseries(5)._quotient_of_periods_to_twist(-3)
True
modular_symbol(r, sign=1, quadratic_twist=1)

Return the modular symbol evaluated at \(r\). This is used to compute this \(p\)-adic L-series.

Note that the normalisation is not correct at this stage: use _quotient_of periods_to_twist to correct.

Note also that this function does not check if the condition on the quadratic_twist=D is satisfied. So the result will only be correct if for each prime \(\ell\) dividing \(D\), we have \(ord_{\ell(N)}<= ord_{\ell}(D)\), where \(N\) is the conductor of the curve.

INPUT:

  • r - a cusp given as either a rational number or oo
  • sign - +1 (default) or -1 (only implemented without twists)
  • quadratic_twist - a fundamental discriminant of a quadratic field or +1 (default)

EXAMPLES:

sage: E = EllipticCurve('11a1')
sage: lp = E.padic_lseries(5)
sage: [lp.modular_symbol(r) for r in [0,1/5,oo,1/11]]
[1/5, 6/5, 0, 0]
sage: [lp.modular_symbol(r,sign=-1) for r in [0,1/3,oo,1/7]]
[0, 1, 0, -1]
sage: [lp.modular_symbol(r,quadratic_twist=-20) for r in [0,1/5,oo,1/11]]
[2, 2, 0, 1]

sage: lpt = E.quadratic_twist(-3).padic_lseries(5)
sage: et = E.padic_lseries(5)._quotient_of_periods_to_twist(-3)
sage: lpt.modular_symbol(0) == lp.modular_symbol(0,quadratic_twist=-3)/et
True
order_of_vanishing()

Return the order of vanishing of this \(p\)-adic L-series.

The output of this function is provably correct, due to a theorem of Kato [Ka].

NOTE: currently \(p\) must be a prime of good ordinary reduction.

REFERENCES:

  • [MTT] B. Mazur, J. Tate, and J. Teitelbaum, On \(p\)-adic analogues of the conjectures of Birch and Swinnerton-Dyer, Inventiones mathematicae 84, (1986), 1-48.
  • [Ka] Kayuza Kato, \(p\)-adic Hodge theory and values of zeta functions of modular forms, Cohomologies \(p\)-adiques et applications arithmetiques III, Asterisque vol 295, SMF, Paris, 2004.

EXAMPLES:

sage: L = EllipticCurve('11a').padic_lseries(3)
sage: L.order_of_vanishing()
0
sage: L = EllipticCurve('11a').padic_lseries(5)
sage: L.order_of_vanishing()
0
sage: L = EllipticCurve('37a').padic_lseries(5)
sage: L.order_of_vanishing()
1
sage: L = EllipticCurve('43a').padic_lseries(3)
sage: L.order_of_vanishing()
1
sage: L = EllipticCurve('37b').padic_lseries(3)
sage: L.order_of_vanishing()
0
sage: L = EllipticCurve('389a').padic_lseries(3)
sage: L.order_of_vanishing()
2
sage: L = EllipticCurve('389a').padic_lseries(5)
sage: L.order_of_vanishing()
2
sage: L = EllipticCurve('5077a').padic_lseries(5, use_eclib=True)
sage: L.order_of_vanishing()
3
prime()

Returns the prime \(p\) as in ‘p-adic L-function’.

EXAMPLES:

sage: L = EllipticCurve('11a').padic_lseries(5)
sage: L.prime()
5
teichmuller(prec)

Return Teichmuller lifts to the given precision.

INPUT:

  • prec - a positive integer.

OUTPUT:

  • a list of \(p\)-adic numbers, the cached Teichmuller lifts

EXAMPLES:

sage: L = EllipticCurve('11a').padic_lseries(7)
sage: L.teichmuller(1)
[0, 1, 2, 3, 4, 5, 6]
sage: L.teichmuller(2)
[0, 1, 30, 31, 18, 19, 48]
class sage.schemes.elliptic_curves.padic_lseries.pAdicLseriesOrdinary(E, p, use_eclib=True, normalize='L_ratio')

Bases: sage.schemes.elliptic_curves.padic_lseries.pAdicLseries

INPUT:

  • E - an elliptic curve
  • p - a prime of good reduction
  • use_eclib - bool (default:True); whether or not to use John Cremona’s eclib for the computation of modular symbols
  • normalize - 'L_ratio' (default), 'period' or 'none'; this is describes the way the modular symbols are normalized. See modular_symbol of an elliptic curve over Q for more details.

EXAMPLES:

sage: E = EllipticCurve('11a1')
sage: Lp = E.padic_lseries(3)
sage: Lp.series(2,prec=3)
2 + 3 + 3^2 + 2*3^3 + O(3^4) + (1 + O(3))*T + (1 + O(3))*T^2 + O(T^3)
is_ordinary()

Return True if the elliptic curve that this L-function is attached to is ordinary.

EXAMPLES:

sage: L = EllipticCurve('11a').padic_lseries(5)
sage: L.is_ordinary()
True
is_supersingular()

Return True if the elliptic curve that this L function is attached to is supersingular.

EXAMPLES:

sage: L = EllipticCurve('11a').padic_lseries(5)
sage: L.is_supersingular()
False
power_series(n=2, quadratic_twist=1, prec=5, eta=0)

Returns the \(n\)-th approximation to the \(p\)-adic L-series, in the component corresponding to the \(\eta\)-th power of the Teichmueller character, as a power series in \(T\) (corresponding to \(\gamma-1\) with \(\gamma=1+p\) as a generator of \(1+p\ZZ_p\)). Each coefficient is a \(p\)-adic number whose precision is provably correct.

Here the normalization of the \(p\)-adic L-series is chosen such that \(L_p(E,1) = (1-1/\alpha)^2 L(E,1)/\Omega_E\) where \(\alpha\) is the unit root of the characteristic polynomial of Frobenius on \(T_pE\) and \(\Omega_E\) is the Neron period of \(E\).

INPUT:

  • n - (default: 2) a positive integer
  • quadratic_twist - (default: +1) a fundamental discriminant of a quadratic field, coprime to the conductor of the curve
  • prec - (default: 5) maximal number of terms of the series to compute; to compute as many as possible just give a very large number for prec; the result will still be correct.
  • eta (default: 0) an integer (specifying the power of the Teichmueller character on the group of roots of unity in \(\ZZ_p^\times\))

ALIAS: power_series is identical to series.

EXAMPLES: We compute some \(p\)-adic L-functions associated to the elliptic curve 11a:

sage: E = EllipticCurve('11a')
sage: p = 3
sage: E.is_ordinary(p)
True
sage: L = E.padic_lseries(p)
sage: L.series(3)
2 + 3 + 3^2 + 2*3^3 + O(3^5) + (1 + 3 + O(3^2))*T + (1 + 2*3 + O(3^2))*T^2 + O(3)*T^3 + O(3)*T^4 + O(T^5)

Another example at a prime of bad reduction, where the \(p\)-adic L-function has an extra 0 (compared to the non \(p\)-adic L-function):

sage: E = EllipticCurve('11a')
sage: p = 11
sage: E.is_ordinary(p)
True
sage: L = E.padic_lseries(p)
sage: L.series(2)
O(11^4) + (10 + O(11))*T + (6 + O(11))*T^2 + (2 + O(11))*T^3 + (5 + O(11))*T^4 + O(T^5)

We compute a \(p\)-adic L-function that vanishes to order 2:

sage: E = EllipticCurve('389a')
sage: p = 3
sage: E.is_ordinary(p)
True
sage: L = E.padic_lseries(p)
sage: L.series(1)
O(T^1)
sage: L.series(2)
O(3^4) + O(3)*T + (2 + O(3))*T^2 + O(T^3)
sage: L.series(3)
O(3^5) + O(3^2)*T + (2 + 2*3 + O(3^2))*T^2 + (2 + O(3))*T^3 + (1 + O(3))*T^4 + O(T^5)

Checks if the precision can be changed (:trac: \(5846\)):

sage: L.series(3,prec=4)
O(3^5) + O(3^2)*T + (2 + 2*3 + O(3^2))*T^2 + (2 + O(3))*T^3 + O(T^4)
sage: L.series(3,prec=6)
O(3^5) + O(3^2)*T + (2 + 2*3 + O(3^2))*T^2 + (2 + O(3))*T^3 + (1 + O(3))*T^4 + (1 + O(3))*T^5 + O(T^6)

Rather than computing the \(p\)-adic L-function for the curve ‘15523a1’, one can compute it as a quadratic_twist:

sage: E = EllipticCurve('43a1')
sage: lp = E.padic_lseries(3)
sage: lp.series(2,quadratic_twist=-19)
2 + 2*3 + 2*3^2 + O(3^4) + (1 + O(3))*T + (1 + O(3))*T^2 + O(T^3)
sage: E.quadratic_twist(-19).label()    # optional -- database_cremona_ellcurve
'15523a1'

This proves that the rank of ‘15523a1’ is zero, even if mwrank can not determine this.

We calculate the \(L\)-series in the nontrivial Teichmueller components:

sage: L = EllipticCurve('110a1').padic_lseries(5)
sage: for j in [0..3]: print L.series(4, eta=j)
O(5^6) + (2 + 2*5 + 2*5^2 + O(5^3))*T + (5 + 5^2 + O(5^3))*T^2 + (4 + 4*5 + 2*5^2 + O(5^3))*T^3 + (1 + 5 + 3*5^2 + O(5^3))*T^4 + O(T^5)
3 + 2*5 + 2*5^3 + 3*5^4 + O(5^6) + (2 + 5 + 4*5^2 + O(5^3))*T + (1 + 4*5 + 2*5^2 + O(5^3))*T^2 + (1 + 5 + 5^2 + O(5^3))*T^3 + (2 + 4*5 + 4*5^2 + O(5^3))*T^4 + O(T^5)
2 + O(5^6) + (1 + 5 + O(5^3))*T + (2 + 4*5 + 3*5^2 + O(5^3))*T^2 + (4 + 5 + 2*5^2 + O(5^3))*T^3 + (4 + O(5^3))*T^4 + O(T^5)
1 + 3*5 + 4*5^2 + 2*5^3 + 5^4 + 4*5^5 + O(5^6) + (2 + 4*5 + 3*5^2 + O(5^3))*T + (2 + 3*5 + 5^2 + O(5^3))*T^2 + (1 + O(5^3))*T^3 + (2*5 + 2*5^2 + O(5^3))*T^4 + O(T^5)
series(n=2, quadratic_twist=1, prec=5, eta=0)

Returns the \(n\)-th approximation to the \(p\)-adic L-series, in the component corresponding to the \(\eta\)-th power of the Teichmueller character, as a power series in \(T\) (corresponding to \(\gamma-1\) with \(\gamma=1+p\) as a generator of \(1+p\ZZ_p\)). Each coefficient is a \(p\)-adic number whose precision is provably correct.

Here the normalization of the \(p\)-adic L-series is chosen such that \(L_p(E,1) = (1-1/\alpha)^2 L(E,1)/\Omega_E\) where \(\alpha\) is the unit root of the characteristic polynomial of Frobenius on \(T_pE\) and \(\Omega_E\) is the Neron period of \(E\).

INPUT:

  • n - (default: 2) a positive integer
  • quadratic_twist - (default: +1) a fundamental discriminant of a quadratic field, coprime to the conductor of the curve
  • prec - (default: 5) maximal number of terms of the series to compute; to compute as many as possible just give a very large number for prec; the result will still be correct.
  • eta (default: 0) an integer (specifying the power of the Teichmueller character on the group of roots of unity in \(\ZZ_p^\times\))

ALIAS: power_series is identical to series.

EXAMPLES: We compute some \(p\)-adic L-functions associated to the elliptic curve 11a:

sage: E = EllipticCurve('11a')
sage: p = 3
sage: E.is_ordinary(p)
True
sage: L = E.padic_lseries(p)
sage: L.series(3)
2 + 3 + 3^2 + 2*3^3 + O(3^5) + (1 + 3 + O(3^2))*T + (1 + 2*3 + O(3^2))*T^2 + O(3)*T^3 + O(3)*T^4 + O(T^5)

Another example at a prime of bad reduction, where the \(p\)-adic L-function has an extra 0 (compared to the non \(p\)-adic L-function):

sage: E = EllipticCurve('11a')
sage: p = 11
sage: E.is_ordinary(p)
True
sage: L = E.padic_lseries(p)
sage: L.series(2)
O(11^4) + (10 + O(11))*T + (6 + O(11))*T^2 + (2 + O(11))*T^3 + (5 + O(11))*T^4 + O(T^5)

We compute a \(p\)-adic L-function that vanishes to order 2:

sage: E = EllipticCurve('389a')
sage: p = 3
sage: E.is_ordinary(p)
True
sage: L = E.padic_lseries(p)
sage: L.series(1)
O(T^1)
sage: L.series(2)
O(3^4) + O(3)*T + (2 + O(3))*T^2 + O(T^3)
sage: L.series(3)
O(3^5) + O(3^2)*T + (2 + 2*3 + O(3^2))*T^2 + (2 + O(3))*T^3 + (1 + O(3))*T^4 + O(T^5)

Checks if the precision can be changed (:trac: \(5846\)):

sage: L.series(3,prec=4)
O(3^5) + O(3^2)*T + (2 + 2*3 + O(3^2))*T^2 + (2 + O(3))*T^3 + O(T^4)
sage: L.series(3,prec=6)
O(3^5) + O(3^2)*T + (2 + 2*3 + O(3^2))*T^2 + (2 + O(3))*T^3 + (1 + O(3))*T^4 + (1 + O(3))*T^5 + O(T^6)

Rather than computing the \(p\)-adic L-function for the curve ‘15523a1’, one can compute it as a quadratic_twist:

sage: E = EllipticCurve('43a1')
sage: lp = E.padic_lseries(3)
sage: lp.series(2,quadratic_twist=-19)
2 + 2*3 + 2*3^2 + O(3^4) + (1 + O(3))*T + (1 + O(3))*T^2 + O(T^3)
sage: E.quadratic_twist(-19).label()    # optional -- database_cremona_ellcurve
'15523a1'

This proves that the rank of ‘15523a1’ is zero, even if mwrank can not determine this.

We calculate the \(L\)-series in the nontrivial Teichmueller components:

sage: L = EllipticCurve('110a1').padic_lseries(5)
sage: for j in [0..3]: print L.series(4, eta=j)
O(5^6) + (2 + 2*5 + 2*5^2 + O(5^3))*T + (5 + 5^2 + O(5^3))*T^2 + (4 + 4*5 + 2*5^2 + O(5^3))*T^3 + (1 + 5 + 3*5^2 + O(5^3))*T^4 + O(T^5)
3 + 2*5 + 2*5^3 + 3*5^4 + O(5^6) + (2 + 5 + 4*5^2 + O(5^3))*T + (1 + 4*5 + 2*5^2 + O(5^3))*T^2 + (1 + 5 + 5^2 + O(5^3))*T^3 + (2 + 4*5 + 4*5^2 + O(5^3))*T^4 + O(T^5)
2 + O(5^6) + (1 + 5 + O(5^3))*T + (2 + 4*5 + 3*5^2 + O(5^3))*T^2 + (4 + 5 + 2*5^2 + O(5^3))*T^3 + (4 + O(5^3))*T^4 + O(T^5)
1 + 3*5 + 4*5^2 + 2*5^3 + 5^4 + 4*5^5 + O(5^6) + (2 + 4*5 + 3*5^2 + O(5^3))*T + (2 + 3*5 + 5^2 + O(5^3))*T^2 + (1 + O(5^3))*T^3 + (2*5 + 2*5^2 + O(5^3))*T^4 + O(T^5)
class sage.schemes.elliptic_curves.padic_lseries.pAdicLseriesSupersingular(E, p, use_eclib=True, normalize='L_ratio')

Bases: sage.schemes.elliptic_curves.padic_lseries.pAdicLseries

INPUT:

  • E - an elliptic curve
  • p - a prime of good reduction
  • use_eclib - bool (default:True); whether or not to use John Cremona’s eclib for the computation of modular symbols
  • normalize - 'L_ratio' (default), 'period' or 'none'; this is describes the way the modular symbols are normalized. See modular_symbol of an elliptic curve over Q for more details.

EXAMPLES:

sage: E = EllipticCurve('11a1')
sage: Lp = E.padic_lseries(3)
sage: Lp.series(2,prec=3)
2 + 3 + 3^2 + 2*3^3 + O(3^4) + (1 + O(3))*T + (1 + O(3))*T^2 + O(T^3)
Dp_valued_height(prec=20)

Returns the canonical \(p\)-adic height with values in the Dieudonne module \(D_p(E)\). It is defined to be

\(h_{\eta} \cdot \omega - h_{\omega} \cdot \eta\)

where \(h_{\eta}\) is made out of the sigma function of Bernardi and \(h_{\omega}\) is \(log_E^2\). The answer v is given as v[1]*omega + v[2]*eta. The coordinates of v are dependent of the Weierstrass equation.

EXAMPLES:

sage: E = EllipticCurve('53a')
sage: L = E.padic_lseries(5)
sage: h = L.Dp_valued_height(7)
sage: h(E.gens()[0])
(3*5 + 5^2 + 2*5^3 + 3*5^4 + 4*5^5 + 5^6 + 5^7 + O(5^8), 5^2 + 4*5^4 + 2*5^7 + 3*5^8 + O(5^9))
Dp_valued_regulator(prec=20, v1=0, v2=0)

Returns the canonical \(p\)-adic regulator with values in the Dieudonne module \(D_p(E)\) as defined by Perrin-Riou using the \(p\)-adic height with values in \(D_p(E)\). The result is written in the basis \(\omega\), \(\varphi(\omega)\), and hence the coordinates of the result are independent of the chosen Weierstrass equation.

NOTE: The definition here is corrected with respect to Perrin-Riou’s article [PR]. See [SW].

REFERENCES:

  • [PR] Perrin Riou, Arithmetique des courbes elliptiques a reduction supersinguliere en \(p\), Experiment. Math. 12 (2003), no. 2, 155-186.
  • [SW] William Stein and Christian Wuthrich, Computations About Tate-Shafarevich Groups using Iwasawa theory, preprint 2009.

EXAMPLES:

sage: E = EllipticCurve('43a')
sage: L = E.padic_lseries(7)
sage: L.Dp_valued_regulator(7)
(5*7 + 6*7^2 + 4*7^3 + 4*7^4 + 7^5 + 4*7^7 + O(7^8), 4*7^2 + 2*7^3 + 3*7^4 + 7^5 + 6*7^6 + 4*7^7 + O(7^8))
Dp_valued_series(n=3, quadratic_twist=1, prec=5)

Returns a vector of two components which are p-adic power series. The answer v is such that

\((1-\varphi)^{-2}\cdot L_p(E,T) =\) v[1] \(\cdot \omega +\) v[2] \(\cdot \varphi(\omega)\)

as an element of the Dieudonne module \(D_p(E) = H^1_{dR}(E/\QQ_p)\) where \(\omega\) is the invariant differential and \(\varphi\) is the Frobenius on \(D_p(E)\). According to the \(p\)-adic Birch and Swinnerton-Dyer conjecture [BP] this function has a zero of order rank of \(E(\QQ)\) and it’s leading term is contains the order of the Tate-Shafarevich group, the Tamagawa numbers, the order of the torsion subgroup and the \(D_p\)-valued \(p\)-adic regulator.

INPUT:

  • n - (default: 3) a positive integer
  • prec - (default: 5) a positive integer

REFERENCE:

  • [BP] Dominique Bernardi and Bernadette Perrin-Riou, Variante \(p\)-adique de la conjecture de Birch et Swinnerton-Dyer (le cas supersingulier), C. R. Acad. Sci. Paris, Ser I. Math, 317 (1993), no 3, 227-232.

EXAMPLES:

sage: E = EllipticCurve('14a')
sage: L = E.padic_lseries(5)
sage: L.Dp_valued_series(4)  # long time (9s on sage.math, 2011)
(1 + 4*5 + 4*5^3 + O(5^4) + (4 + O(5))*T + (1 + O(5))*T^2 + (4 + O(5))*T^3 + (2 + O(5))*T^4 + O(T^5), O(5^4) + O(5)*T + O(5)*T^2 + O(5)*T^3 + (2 + O(5))*T^4 + O(T^5))
bernardi_sigma_function(prec=20)

Return the \(p\)-adic sigma function of Bernardi in terms of \(z = log(t)\). This is the same as padic_sigma with E2 = 0.

EXAMPLES:

sage: E = EllipticCurve('14a')
sage: L = E.padic_lseries(5)
sage: L.bernardi_sigma_function(prec=5) # Todo: some sort of consistency check!?
z + 1/24*z^3 + 29/384*z^5 - 8399/322560*z^7 - 291743/92897280*z^9 + O(z^10)
frobenius(prec=20, algorithm='mw')

This returns a geometric Frobenius \(\varphi\) on the Diedonne module \(D_p(E)\) with respect to the basis \(\omega\), the invariant differential, and \(\eta=x\omega\). It satisfies \(\varphi^2 - a_p/p\, \varphi + 1/p = 0\).

INPUT:

  • prec - (default: 20) a positive integer
  • algorithm - either ‘mw’ (default) for Monsky-Washintzer or ‘approx’ for the algorithm described by Bernardi and Perrin-Riou (much slower and not fully tested)

EXAMPLES:

sage: E = EllipticCurve('14a')
sage: L = E.padic_lseries(5)
sage: phi = L.frobenius(5)
sage: phi
[                  2 + 5^2 + 5^4 + O(5^5)    3*5^-1 + 3 + 5 + 4*5^2 + 5^3 + O(5^4)]
[      3 + 3*5^2 + 4*5^3 + 3*5^4 + O(5^5) 3 + 4*5 + 3*5^2 + 4*5^3 + 3*5^4 + O(5^5)]
sage: -phi^2
[5^-1 + O(5^4)        O(5^4)]
[       O(5^5) 5^-1 + O(5^4)]
is_ordinary()

Return True if the elliptic curve that this L-function is attached to is ordinary.

EXAMPLES:

sage: L = EllipticCurve('11a').padic_lseries(19)
sage: L.is_ordinary()
False
is_supersingular()

Return True if the elliptic curve that this L function is attached to is supersingular.

EXAMPLES:

sage: L = EllipticCurve('11a').padic_lseries(19)
sage: L.is_supersingular()
True
power_series(n=3, quadratic_twist=1, prec=5, eta=0)

Return the \(n\)-th approximation to the \(p\)-adic L-series as a power series in \(T\) (corresponding to \(\gamma-1\) with \(\gamma=1+p\) as a generator of \(1+p\ZZ_p\)). Each coefficient is an element of a quadratic extension of the \(p\)-adic number whose precision is probably correct.

Here the normalization of the \(p\)-adic L-series is chosen such that \(L_p(E,1) = (1-1/\alpha)^2 L(E,1)/\Omega_E\) where \(\alpha\) is the unit root of the characteristic polynomial of Frobenius on \(T_pE\) and \(\Omega_E\) is the Neron period of \(E\).

INPUT:

  • n - (default: 2) a positive integer
  • quadratic_twist - (default: +1) a fundamental discriminant of a quadratic field, coprime to the conductor of the curve
  • prec - (default: 5) maximal number of terms of the series to compute; to compute as many as possible just give a very large number for prec; the result will still be correct.
  • eta (default: 0) an integer (specifying the power of the Teichmueller character on the group of roots of unity in \(\ZZ_p^\times\))

ALIAS: power_series is identical to series.

EXAMPLES: A superingular example, where we must compute to higher precision to see anything:

sage: e = EllipticCurve('37a')
sage: L = e.padic_lseries(3); L
3-adic L-series of Elliptic Curve defined by y^2 + y = x^3 - x over Rational Field
sage: L.series(2)
O(T^3)
sage: L.series(4)         # takes a long time (several seconds)
(O(3))*alpha + (O(3^2)) + ((O(3^-1))*alpha + (2*3^-1 + O(3^0)))*T + ((O(3^-1))*alpha + (2*3^-1 + O(3^0)))*T^2 + O(T^5)
sage: L.alpha(2).parent()
Univariate Quotient Polynomial Ring in alpha over 3-adic Field with capped
relative precision 2 with modulus (1 + O(3^2))*x^2 + (3 + O(3^3))*x + (3 + O(3^3))

An example where we only compute the leading term (:trac: \(15737\)):

sage: E = EllipticCurve("17a1")
sage: L = E.padic_lseries(3)
sage: L.series(4,prec=1)
(O(3^18))*alpha^2 + (2*3^-1 + 1 + 3 + 3^2 + 3^3 + ... + 3^18 + O(3^19))*alpha + (2*3^-1 + 1 + 3 + 3^2 + 3^3 + 3^4 + ... + 3^18 + O(3^19)) + O(T)
series(n=3, quadratic_twist=1, prec=5, eta=0)

Return the \(n\)-th approximation to the \(p\)-adic L-series as a power series in \(T\) (corresponding to \(\gamma-1\) with \(\gamma=1+p\) as a generator of \(1+p\ZZ_p\)). Each coefficient is an element of a quadratic extension of the \(p\)-adic number whose precision is probably correct.

Here the normalization of the \(p\)-adic L-series is chosen such that \(L_p(E,1) = (1-1/\alpha)^2 L(E,1)/\Omega_E\) where \(\alpha\) is the unit root of the characteristic polynomial of Frobenius on \(T_pE\) and \(\Omega_E\) is the Neron period of \(E\).

INPUT:

  • n - (default: 2) a positive integer
  • quadratic_twist - (default: +1) a fundamental discriminant of a quadratic field, coprime to the conductor of the curve
  • prec - (default: 5) maximal number of terms of the series to compute; to compute as many as possible just give a very large number for prec; the result will still be correct.
  • eta (default: 0) an integer (specifying the power of the Teichmueller character on the group of roots of unity in \(\ZZ_p^\times\))

ALIAS: power_series is identical to series.

EXAMPLES: A superingular example, where we must compute to higher precision to see anything:

sage: e = EllipticCurve('37a')
sage: L = e.padic_lseries(3); L
3-adic L-series of Elliptic Curve defined by y^2 + y = x^3 - x over Rational Field
sage: L.series(2)
O(T^3)
sage: L.series(4)         # takes a long time (several seconds)
(O(3))*alpha + (O(3^2)) + ((O(3^-1))*alpha + (2*3^-1 + O(3^0)))*T + ((O(3^-1))*alpha + (2*3^-1 + O(3^0)))*T^2 + O(T^5)
sage: L.alpha(2).parent()
Univariate Quotient Polynomial Ring in alpha over 3-adic Field with capped
relative precision 2 with modulus (1 + O(3^2))*x^2 + (3 + O(3^3))*x + (3 + O(3^3))

An example where we only compute the leading term (:trac: \(15737\)):

sage: E = EllipticCurve("17a1")
sage: L = E.padic_lseries(3)
sage: L.series(4,prec=1)
(O(3^18))*alpha^2 + (2*3^-1 + 1 + 3 + 3^2 + 3^3 + ... + 3^18 + O(3^19))*alpha + (2*3^-1 + 1 + 3 + 3^2 + 3^3 + 3^4 + ... + 3^18 + O(3^19)) + O(T)

Previous topic

Heegner points on elliptic curves over the rational numbers

Next topic

Hyperelliptic curve constructor

This Page