CoCalc Shared Fileswww / papers / anti-cyclotomic_height_pairing / padic.mOpen in CoCalc with one click!
Author: William A. Stein
1
/**************************************************************************
2
*
3
* p-adic-height.m -- p-adic height pairing
4
*
5
* William Stein, April 2001
6
*
7
***************************************************************************/
8
9
10
intrinsic 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
15
Qp := pAdicField(p);
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;
28
end intrinsic;
29
30
intrinsic 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
35
end intrinsic;
36
37