Ignore:
Timestamp:
06/01/07 17:48:43 (6 years ago)
Author:
William Stein <wstein@…>
Branch:
default
Parents:
4787:5c83249decc4 (diff), 4794:26f9e712ff3d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

merge

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • sage/schemes/elliptic_curves/padic_lseries.py

    r4784 r4795  
    507507 
    508508class pAdicLseriesSupersingular(pAdicLseries): 
    509     def series(self, n=2, prec=5): 
     509    def series(self, n=3, prec=5): 
    510510        r""" 
    511511        Return the $n$-th approximation to the $p$-adic $L$-series as a 
     
    513513        $\gamma=1+p$ as a generator of $1+p\mathbb{Z}_p$).  Each 
    514514        coefficient is a $p$-adic number whose precision is probably 
    515         {\em not} correct. 
    516  
    517         WARNING: ** The output precision is not as high as claimed! ** 
     515        correct. 
    518516 
    519517        INPUT: 
    520             n -- (default: 2) a positive integer 
     518            n -- (default: 3) a positive integer 
    521519            prec -- (default: 5) maxima number of terms of the series 
    522520                    to compute; to compute as many as possible just 
     
    537535    (O(3^1))*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(3^-2))*alpha + (O(3^-1)))*T^3 + ((O(3^-1))*alpha + (3^-1 + O(3^0)))*T^4 + O(T^5) 
    538536            sage: L.alpha(2).parent() 
    539             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)) 
     537                        Univariate Quotient Polynomial Ring in alpha over 3-adic Field with capped 
     538            relative precision 2 with modulus (1 + O(3^2))*x^2 + (3 + O(3^3))*x + (3 + O(3^3)) 
    540539        """ 
    541540        n = ZZ(n) 
     
    599598 
    600599 
    601     def Dp_valued_series(self, n=2, prec=5): 
     600    def Dp_valued_series(self, n=3, prec=5): 
    602601        r""" 
    603602        Returns a vector of two components which are p-adic power series. 
     
    612611        \end{verbatim} 
    613612 
    614         WARNING: ** The output precision is not as high as claimed! **         
     613        WARNING: ** Currently the normalisation of the Frobenius is not chosen 
     614                correctly and hence only mod p the function satisfies the padic BSD **         
    615615         
    616616        INPUT: 
    617             n -- (default: 2) a positive integer 
     617            n -- (default: 3) a positive integer 
    618618            prec -- (default: 5) a positive integer  
    619619 
     
    631631        R = lps.base_ring().base_ring() # Qp 
    632632        QpT , T = PowerSeriesRing(R,'T',prec).objgen() 
    633         G = sum([R(lps[n][0])*T**n for n in range(0,lps.prec())]) 
    634         H = sum([R(lps[n][1])*T**n for n in range(0,lps.prec())])  
    635      
     633        G = QpT([lps[n][0] for n in range(0,lps.prec())], prec) 
     634        H = QpT([lps[n][1] for n in range(0,lps.prec())], prec)  
     635        #print G,H 
     636          
    636637        # now compute phi 
    637         phi =  self.geometric_frob_on_Dp(p 
     638        phi =  self.geometric_frob_on_Dp( 
    638639        phi_omega_0 = phi[0,0] 
    639640        phi_omega_1 = phi[1,0] 
     641        #print phi 
    640642        R = phi_omega_0.parent() 
    641643        lpv = vector([G  + R(E.ap(p))*H - R(p) * phi_omega_0* H , - R(p)*phi_omega_1*H])  # this is L_p 
     644        #print lpv 
    642645        eps = (1-phi)**(-2)   
    643646        resu = lpv*eps.transpose() 
     
    647650    def geometric_frob_on_Dp(self, prec=20): 
    648651        r""" 
    649         This returns the geometric Frobenius $\varphi$ on the Diedonne module $D_p(E)$ 
     652        This returns a geometric Frobenius $\varphi$ on the Diedonne module $D_p(E)$ 
    650653        with respect to the basis $\omega$, the invariant differential and $\eta=x\omega$. 
    651654        It satisfies  $phi^2 - a_p/p*phi + 1/p = 0$. 
     655                 
     656                It is not clear what normalisation we use here. 
    652657 
    653658        EXAMPLES: 
    654659            sage: E = EllipticCurve('14a') 
    655660            sage: L = E.padic_lseries(5) 
    656             sage: F = L.geometric_frob_on_Dp(5) 
    657             sage: F 
     661            sage: phi = L.geometric_frob_on_Dp(5) 
     662            sage: phi 
    658663            [ 3 + 4*5 + 3*5^2 + 4*5^3 + O(5^4) 2*5^-1 + 1 + 3*5 + 3*5^3 + O(5^4)] 
    659664            [     2 + 4*5 + 5^2 + 5^4 + O(5^5)            2 + 5^2 + 5^4 + O(5^5)] 
    660             sage: F^2 - E.ap(5)/5 * F + 1/5 
     665            sage: phi^2 - E.ap(5)/5 * phi + 1/5 
    661666            [O(5^4) O(5^3)] 
    662667            [O(5^4) O(5^4)] 
     
    711716 
    712717    def Dp_valued_height(self,prec=20): 
    713         """ 
     718        r""" 
    714719        Returns the canonical $p$-adic height with values in the Dieudonne module $D_p(E)$. 
    715720        It is defined to be 
     
    717722        where $h_{\eta}$ is made out of the sigma function of Bernardi and  
    718723        $h_{\omega}$ is $-log^2$. 
     724   
     725        EXAMPLES: 
     726            sage: E = EllipticCurve('53a') 
     727            sage: L = E.padic_lseries(5) 
     728            sage: h = L.Dp_valued_height(7) 
     729                        sage: h(E.gens()[0]) 
     730                        (2*5 + 3*5^2 + 2*5^3 + 5^4 + 3*5^6 + 3*5^7 + O(5^8),  
     731                        4*5^2 + 4*5^3 + 4*5^5 + 4*5^6 + 2*5^7 + 5^8 + O(5^9)) 
    719732        """ 
    720733        E = self._E 
     
    755768        Returns the canonical $p$-adic regulator with values in the Dieudonne module $D_p(E)$ 
    756769        as defined by Perrin-Riou using the canonical $p$-adic height. 
     770    
     771        EXAMPLES: 
     772            sage: E = EllipticCurve('43a') 
     773            sage: L = E.padic_lseries(7) 
     774            sage: L.Dp_valued_regulator(7) 
     775                        (2*7 + 2*7^2 + 5*7^3 + 7^4 + 7^5 + 4*7^6 + 2*7^7 + O(7^8), 
     776                         2*7^2 + 4*7^3 + 2*7^5 + 3*7^6 + 6*7^7 + O(7^8)) 
    757777        """ 
    758778     
  • sage/schemes/elliptic_curves/padic_lseries.py

    r4794 r4795  
    5050 
    5151    EXAMPLES: 
    52     A superingular example: 
    53         sage: e = EllipticCurve('37a') 
    54         sage: L = e.padic_lseries(3); L 
    55         3-adic L-series of Elliptic Curve defined by y^2 + y = x^3 - x over Rational Field 
    56         sage: L.series(2) 
    57         ((3^-1 + O(3^2))*alpha + (2*3^-1 + O(3^2)))*T + ((3^-1 + O(3^2))*alpha + (2*3^-1 + O(3^2)))*T^2 + O(T^3) 
    58          
    5952    An ordinary example: 
    6053        sage: e = EllipticCurve('389a') 
     
    7467        sage: L = EllipticCurve('11a').padic_lseries(5) 
    7568        sage: L.series(1) 
    76         5 + 4*5^2 + O(5^3) + O(T) 
     69        5 + O(5^2) + O(T) 
    7770        sage: L.series(2) 
    78         5 + 4*5^2 + 4*5^3 + O(5^4) + O(5^1)*T + O(5^1)*T^2 + O(5^1)*T^3 + O(5^1)*T^4 + O(T^5) 
     71        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) 
    7972        sage: L.series(3) 
    80         5 + 4*5^2 + 4*5^3 + O(5^5) + (4*5 + O(5^2))*T + (5 + O(5^2))*T^2 + (4*5 + O(5^2))*T^3 + (3*5 + O(5^2))*T^4 + O(T^5) 
     73        5 + 4*5^2 + 4*5^3 + O(5^4) + O(5^1)*T + O(5^1)*T^2 + O(5^1)*T^3 + O(5^1)*T^4 + O(T^5)         
    8174    """ 
    8275    def __init__(self, E, p, normalize): 
     
    209202            (1 + O(3^10))*alpha 
    210203            sage: alpha^2 - E.ap(3)*alpha + 3 
    211             0 
     204            (O(3^10))*alpha^2 + (O(3^11))*alpha + (O(3^11)) 
    212205 
    213206        A reducible prime: 
     
    533526 
    534527        EXAMPLES: 
    535             sage: L = EllipticCurve('37a').padic_lseries(3) 
    536             sage: L.series(4) 
    537             (O(3^1))*alpha + (O(3^2)) + ((O(3^-1))*alpha + (2*3^-1 + O(3^0)))*T + 
    538             ((O(3^-1))*alpha + (2*3^-1 + O(3^0)))*T^2 + ((O(3^-2))*alpha + (O(3^-1)))*T^3 + 
    539             ((O(3^-1))*alpha + (3^-1 + O(3^0)))*T^4 + O(T^5) 
     528        A superingular example, where we must compute to higher precision to see anything. 
     529            sage: e = EllipticCurve('37a') 
     530            sage: L = e.padic_lseries(3); L 
     531            3-adic L-series of Elliptic Curve defined by y^2 + y = x^3 - x over Rational Field 
     532            sage: L.series(2) 
     533            O(T^3) 
     534            sage: L.series(4)         # takes a long time (several seconds) 
     535    (O(3^1))*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(3^-2))*alpha + (O(3^-1)))*T^3 + ((O(3^-1))*alpha + (3^-1 + O(3^0)))*T^4 + O(T^5) 
    540536            sage: L.alpha(2).parent() 
    541537                        Univariate Quotient Polynomial Ring in alpha over 3-adic Field with capped 
     
    625621            sage: E = EllipticCurve('14a') 
    626622            sage: L = E.padic_lseries(5) 
    627             sage: L.Dp_valued_series(4) 
    628                         (4 + 4*5^2 + O(5^4) + (1 + O(5))*T + (4 + O(5))*T^2 + (1 + O(5))*T^3 + (2 + O(5))*T^4 + O(T^5), 
    629                          O(5^4) + O(5^1)*T + O(5^1)*T^2 + O(5^1)*T^3 + (1 + O(5))*T^4 + O(T^5)) 
     623            sage: L.Dp_valued_series(2) 
     624            (4 + 4*5^2 + O(5^3), 0) 
    630625        """ 
    631626        E = self._E 
Note: See TracChangeset for help on using the changeset viewer.