CoCalc Public Fileswww / papers / anti-cyclotomic_height_pairing / padic.m
Author: William A. Stein
Compute Environment: Ubuntu 18.04 (Deprecated)
1/**************************************************************************
2*
4*
5* William Stein, April 2001
6*
7***************************************************************************/
8
9
10intrinsic H3(P::CrvEllPt, p::RngIntElt) -> FldLoc
11   {The naive p-adic height of P.}
12   E := Parent(P);
13   require Type(BaseRing(E)) eq FldRat : "The parent of argument 1 must be defined over Q.";
14
16
17   if P[3] eq 0 then // the point at infinity.
18      return Qp!0;
19   end if;
20
21   a_1,_,a_3,_,_ := Explode(aInvariants(E));
22
23   x := Qp!(P[1]/P[3]);
24   y := Qp!(P[2]/P[3]);
25   denom := Qp!(Denominator(P[2]/P[3]));   // G(P)^3
26   alpha := (2*y + a_1*x + a_3)/2;
27   return denom*alpha/3;
28end intrinsic;
29
30intrinsic h3(P::CrvEllPt, p::RngIntElt) -> FldLoc
31   {Approximation of the canonical p-adic height of P.}
32   E := Parent(P);
33   require Type(BaseRing(E)) eq FldRat : "The parent of argument 1 must be defined over Q.";
34
35end intrinsic;
36
37