### Navigation

- index
- modules |
- next |
- previous |
- Plane curves »

# 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)

### Navigation

- index
- modules |
- next |
- previous |
- Plane curves »