[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Heights and Mordell--Weil Group

This section pertains to height functions on the Mordell--Weil group of the Jacobian of genus two curves over the rationals. The canonical height is computed using the algorithm of Flynn and Smart[FS97] with improvements by Stoll[Sto99].

HeightConstant(J: parameters) : JacHyp -> FldPrElt, FldPrElt
    Effort: RngIntElt                   Default: 0
    Factor: BoolElt                     Default: false
Given the Jacobian J of a genus 2 curve over the rationals, in the form y^2 = f(x) with integral coefficients, this computes a real bound on the absolute difference of the naive height on the Kummer surface of J and the canonical height on J.

The parameter Effort indicates how much effort should be put into finding a good bound. The second value returned is a bound for mu_Infinity. If the parameter Factor is true, then the discriminant will be factored, and its prime divisors will be considered individually, usually resulting in an improvement of the bound.

NaiveHeight(P) : JacHypPt -> FldPrElt
NaiveHeight(P) : SrfKumPt -> FldPrElt
Returns the logarithmic naive height of the point P on a Jacobian J or its Kummer surface K, defined by the mappings J -> K -> ( P)^3, to projective space.

Height(P: Precision) : JacHypPt -> FldPrElt
Height(P: Precision) : SrfKumPt -> FldPrElt
CanonicalHeight(P: Precision) : JacHypPt -> FldPrElt
CanonicalHeight(P: Precision) : SrfKumPt -> FldPrElt
    Precision: RngIntElt                Default: 0
Returns the canonical height of a point P on the Jacobian or Kummer surface of a genus 2 curve over the rationals.
HeightPairing(P, Q: Precision) : JacHypPt, JacHypPt -> FldPrElt
    Precision: RngIntElt                Default: 0
Returns the canonical height pairing of two rational points P and Q on the Jacobian of a genus 2 curve, defined by < P, Q > := (h(P + Q) - h(P) - h(Q))/2.

HeightPairingMatrix(S: Precision) : [JacHypPt] -> AlgMat
    Precision: RngIntElt                Default: 0
Given a sequence S of points on the Jacobian J of a hyperelliptic curve, this function returns the height pairing matrix of the sequence of points S.

Regulator(S: Precision) : [JacHypPt] -> FldPrElt
    Precision: RngIntElt                Default: 0
Given a sequence S of points on the Jacobian J of a hyperelliptic curve, the function returns the determinant of the height pairing matrix of S. The regulator is equal to zero when the points are dependent in the Mordell--Weil group, and otherwise is equal to the square of the volume of the parallelotope spanned by the points in the subgroup of the free quotient of J(Q) generated by S.

ReducedBasis(S: Precision) : [JacHypPt] -> SeqEnum, AlgMatElt
ReducedBasis(S: Precision) : @JacHypPt@ -> SeqEnum, AlgMatElt
ReducedBasis(S: Precision) : JacHypPt -> SeqEnum, AlgMatElt
    Precision: RngIntElt                Default: 0
Given a sequence S of points on the Jacobian J of a hyperelliptic curve, this function returns a reduced basis, with respect to the height pairing, for the subgroup of the free quotient of J(Q) generated by the given points on J. The height pairing matrix of the sequence S is returned as a second value.

Example CrvHyp_HeightPairing (H86E12)

We compute a reduced basis for a set of points on the Jacobian J of a genus 2 curve C. We first construct a collection of points P_1, P_2, P_3, and P_4 on the curve, then form points Q_1, Q_2, and Q_3 on the Jacobian as degree zero linear combinations of the P_i. We then compute a reduced basis, showing that the group generated by the points has rank 2. The final nonzero determinant of the height pairing matrix proves the independence of the points.

> P<x> := PolynomialRing(Rationals());
> C := HyperellipticCurve(x^6+x^2+1);         
> J := Jacobian(C);
> Z := PointsAtInfinity(C);
> Z;
{@ (1 : -1 : 0), (1 : 1 : 0) @}
> P1 := Z[1]; 
> P2 := Z[2]; 
> P3 := C![1/2,9/8,1];
> P4 := C![-1/2,9/8,1];
> Q1 := J![P1,P2];
> Q2 := J![P1,P3];
> Q3 := J![P3,P4];
> B, M := ReducedBasis([Q1,Q2,Q3] : Precision := 12);   
> B;
[ (1, -x^3, 2), (x^2, 1, 2) ]
> M;
[0.2797317933688278287667056839      -5.005347463630776922E-17]
[     -5.005347463630776922E-17 0.9524462128097307697800077959]
> Determinant(M);
0.2664294871966142247655164984

 [Next][Prev] [Right] [Left] [Up] [Index] [Root]