Ignore:
Timestamp:
06/01/07 17:48:43 (6 years ago)
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
 r4784 class pAdicLseriesSupersingular(pAdicLseries): def series(self, n=2, prec=5): def series(self, n=3, prec=5): r""" Return the $n$-th approximation to the $p$-adic $L$-series as a $\gamma=1+p$ as a generator of $1+p\mathbb{Z}_p$).  Each coefficient is a $p$-adic number whose precision is probably {\em not} correct. WARNING: ** The output precision is not as high as claimed! ** correct. INPUT: n -- (default: 2) a positive integer n -- (default: 3) a positive integer prec -- (default: 5) maxima number of terms of the series to compute; to compute as many as possible just (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) 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)) 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)) """ n = ZZ(n) def Dp_valued_series(self, n=2, prec=5): def Dp_valued_series(self, n=3, prec=5): r""" Returns a vector of two components which are p-adic power series. \end{verbatim} WARNING: ** The output precision is not as high as claimed! ** WARNING: ** Currently the normalisation of the Frobenius is not chosen correctly and hence only mod p the function satisfies the padic BSD ** INPUT: n -- (default: 2) a positive integer n -- (default: 3) a positive integer prec -- (default: 5) a positive integer R = lps.base_ring().base_ring() # Qp QpT , T = PowerSeriesRing(R,'T',prec).objgen() G = sum([R(lps[n][0])*T**n for n in range(0,lps.prec())]) H = sum([R(lps[n][1])*T**n for n in range(0,lps.prec())]) G = QpT([lps[n][0] for n in range(0,lps.prec())], prec) H = QpT([lps[n][1] for n in range(0,lps.prec())], prec) #print G,H # now compute phi phi =  self.geometric_frob_on_Dp(p) phi =  self.geometric_frob_on_Dp() phi_omega_0 = phi[0,0] phi_omega_1 = phi[1,0] #print phi R = phi_omega_0.parent() lpv = vector([G  + R(E.ap(p))*H - R(p) * phi_omega_0* H , - R(p)*phi_omega_1*H])  # this is L_p #print lpv eps = (1-phi)**(-2) resu = lpv*eps.transpose() def geometric_frob_on_Dp(self, prec=20): r""" This returns the geometric Frobenius $\varphi$ on the Diedonne module $D_p(E)$ 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  $phi^2 - a_p/p*phi + 1/p = 0$. It is not clear what normalisation we use here. EXAMPLES: sage: E = EllipticCurve('14a') sage: L = E.padic_lseries(5) sage: F = L.geometric_frob_on_Dp(5) sage: F sage: phi = L.geometric_frob_on_Dp(5) sage: phi [ 3 + 4*5 + 3*5^2 + 4*5^3 + O(5^4) 2*5^-1 + 1 + 3*5 + 3*5^3 + O(5^4)] [     2 + 4*5 + 5^2 + 5^4 + O(5^5)            2 + 5^2 + 5^4 + O(5^5)] sage: F^2 - E.ap(5)/5 * F + 1/5 sage: phi^2 - E.ap(5)/5 * phi + 1/5 [O(5^4) O(5^3)] [O(5^4) O(5^4)] def Dp_valued_height(self,prec=20): """ r""" Returns the canonical $p$-adic height with values in the Dieudonne module $D_p(E)$. It is defined to be where $h_{\eta}$ is made out of the sigma function of Bernardi and $h_{\omega}$ is $-log^2$. EXAMPLES: sage: E = EllipticCurve('53a') sage: L = E.padic_lseries(5) sage: h = L.Dp_valued_height(7) sage: h(E.gens()[0]) (2*5 + 3*5^2 + 2*5^3 + 5^4 + 3*5^6 + 3*5^7 + O(5^8), 4*5^2 + 4*5^3 + 4*5^5 + 4*5^6 + 2*5^7 + 5^8 + O(5^9)) """ E = self._E Returns the canonical $p$-adic regulator with values in the Dieudonne module $D_p(E)$ as defined by Perrin-Riou using the canonical $p$-adic height. EXAMPLES: sage: E = EllipticCurve('43a') sage: L = E.padic_lseries(7) sage: L.Dp_valued_regulator(7) (2*7 + 2*7^2 + 5*7^3 + 7^4 + 7^5 + 4*7^6 + 2*7^7 + O(7^8), 2*7^2 + 4*7^3 + 2*7^5 + 3*7^6 + 6*7^7 + O(7^8)) """