Points on the Kummer Surface#
Points are given by their projective coordinates, normalized depending on the base field.
Creation of Points#
- K ! 0: SrfKum, RngIntElt -> SrfKumPt#
Returns the image of the identity element on the Kummer surface \(K\), which is normalized to be the origin \((0 : 0 : 0 : 1)\).
- K ! [x1, x2, x3, x4]: SrfKum, [ RngElt ] -> SrfKumPt#
Returns the point on the Kummer surface \(K\) defined by the projective coordinates \(x_1\), \(x_2\), \(x_3\), and \(x_4\).
- K ! P: SrfKum, SrfKumPt -> SrfKumPt#
- K ! P: SrfKum, JacHypPt -> SrfKumPt#
Given a point \(P\) on the Jacobian of \(K\), or on a Kummer surface for which \(K\) is a base extension, this returns the point on \(K\).
- IsPoint(K, S): SrfKum, [RngElt] -> BoolElt, SrfKumPt#
Given a sequence \(S = [x_1,x_2,x_3,x_4]\) of elements of the base field of \(K\), the function returns
trueif the point specified by the sequence defines the homogeneous coordinates of a point on the Kummer surface \(K\). If so, the corresponding point on \(K\) is returned as the second value.
- Points(K, [x1, x2, x3]): SrfKum, [RngElt] -> SetIndx#
Returns the indexed set of points on the Kummer surface \(K\) with first three coordinates given by the sequence \([x_1, x_2, x_3]\).
Access Operations#
- P[i]: SrfKumPt, RngIntElt -> RngElt#
Returns the \(i\)-th coordinate of the point \(P\), for \(1\leq i\leq 4\).
Predicates on Points#
- P eq Q: SrfKumPt, SrfKumPt -> BoolElt#
Given two points on the same Kummer surface, this returns
trueif and only if the points \(P\) and \(Q\) are equal.
- P ne Q: SrfKumPt, SrfKumPt -> BoolElt#
Given two points on the same Kummer surface, this returns
falseif and only if the points \(P\) and \(Q\) are equal.
Arithmetic of Points#
- - P: SrfKumPt -> SrfKumPt#
Returns the negation of the point \(P\) on the Kummer surface, equal to \(P\) itself.
- n * P: RngIntElt, SrfKumPt -> SrfKumPt#
- P * n: SrfKumPt, RngIntElt -> SrfKumPt#
Returns the \(n\)-th multiple of the point \(P\) on the Kummer surface \(K\).
- Double(P): SrfKumPt -> SrfKumPt#
Returns the double \(2*P\) of the point \(P\).
- PseudoAdd(P1, P2, P3): SrfKumPt, SrfKumPt, SrfKumPt -> SrfKumPt#
Let \(P\) and \(Q\) be points on the Jacobian \(J\) of a genus \(2\) curve. Given the images \(P_1\), \(P_2\), and \(P_3\) on the Kummer surface of points \(P\), \(Q\), and \(P-Q\) on \(J\), the function returns the image of \(P+Q\).
- PseudoAddMultiple(P1, P2, P3, n): SrfKumPt, SrfKumPt, SrfKumPt, RngIntElt -> SrfKumPt#
Let \(P\) and \(Q\) be points on the Jacobian \(J\) of a genus \(2\) curve. Given the images \(P_1\), \(P_2\), and \(P_3\) on the Kummer surface of points \(P\), \(Q\), \(P-Q\) on \(J\), the function returns the image of \(P + n*Q\).
Rational Points on the Kummer Surface#
- RationalPoints(K, Q): SrfKum, [RngElt] -> SetIndx#
Given the Kummer surface of the Jacobian of a genus \(2\) hyperelliptic curve defined over a ring \(R\) and sequence \(Q\) of three elements of \(R\), the function returns an indexed set containing those points on \(K\) whose first three coordinates correspond to the three terms of \(Q\).
- Example: Kummer Rational Points (ex-51064e)#
We search for some points on the Kummer surface of the hyperelliptic curve \(y^2=x^5-7\) defined over the rational field.
> P<x> := PolynomialRing(Rationals()); > C := HyperellipticCurve(x^5-7); > Genus(C); 2 > J := Jacobian(C); > K := KummerSurface(J); > K; Kummer surface of Jacobian of Hyperelliptic Curve defined by y^2 = x^5 - 7 over Rational Field > Points(K, [0,1,2]); {@ (0 : 1 : 2 : 4) @} > Points(K, [1,3,2]); {@ @} > Points(K, [0,1,3]); {@ (0 : 1 : 3 : 9) @}