Jacobians of genus-2 hyperelliptic curves

AUTHORS:

  • Sabrina Kunzweiler, Gareth Ma, Giacomo Pope (2024): adapt to smooth model

class sage.schemes.hyperelliptic_curves.jacobian_g2_generic.HyperellipticJacobian_g2_generic(C, category=None)[source]

Bases: HyperellipticJacobian_generic

Special class to handle optimisations for jacobian computations in genus two

kummer_surface()[source]

Construct the Kummer surface from the Jacobian of a genus-2 curve.

INPUT: jacobian – the Jacobian of a genus-2 curve

EXAMPLES:

sage: R.<x> = GF(13)[]
sage: H = HyperellipticCurve(x**5 + x)
sage: J = Jacobian(H)
sage: K = KummerSurface(J); K
Kummer Surface of Jacobian of Hyperelliptic Curve over Finite Field of size 13 defined by y^2 = x^5 + x.
The defining equation is X0^4 - 4*X0*X1^2*X2 + 2*X0^2*X2^2 + X2^4 - 2*X0^2*X1*X3 - 2*X1*X2^2*X3 + X1^2*X3^2 - 4*X0*X2*X3^2
>>> from sage.all import *
>>> R = GF(Integer(13))['x']; (x,) = R._first_ngens(1)
>>> H = HyperellipticCurve(x**Integer(5) + x)
>>> J = Jacobian(H)
>>> K = KummerSurface(J); K
Kummer Surface of Jacobian of Hyperelliptic Curve over Finite Field of size 13 defined by y^2 = x^5 + x.
The defining equation is X0^4 - 4*X0*X1^2*X2 + 2*X0^2*X2^2 + X2^4 - 2*X0^2*X1*X3 - 2*X1*X2^2*X3 + X1^2*X3^2 - 4*X0*X2*X3^2