Rational point sets on a Jacobian#

EXAMPLES:

sage: x = QQ['x'].0
sage: f = x^5 + x + 1
sage: C = HyperellipticCurve(f); C
Hyperelliptic Curve over Rational Field defined by y^2 = x^5 + x + 1
sage: C(QQ)
Set of rational points of Hyperelliptic Curve over Rational Field
 defined by y^2 = x^5 + x + 1
sage: P = C([0,1,1])
sage: J = C.jacobian(); J
Jacobian of Hyperelliptic Curve over Rational Field defined by y^2 = x^5 + x + 1
sage: Q = J(QQ)(P); Q
(x, y - 1)
sage: Q + Q
(x^2, y - 1/2*x - 1)
sage: Q*3
(x^2 - 1/64*x + 1/8, y + 255/512*x + 65/64)
sage: F.<a> = GF(3)                                                                 # optional - sage.rings.finite_rings
sage: R.<x> = F[]                                                                   # optional - sage.rings.finite_rings
sage: f = x^5 - 1                                                                   # optional - sage.rings.finite_rings
sage: C = HyperellipticCurve(f)                                                     # optional - sage.rings.finite_rings
sage: J = C.jacobian()                                                              # optional - sage.rings.finite_rings
sage: X = J(F)                                                                      # optional - sage.rings.finite_rings
sage: a = x^2 - x + 1; b = -x + 1; c = x - 1; d = 0                                 # optional - sage.rings.finite_rings
sage: D1 = X([a,b]); D1                                                             # optional - sage.rings.finite_rings
(x^2 + 2*x + 1, y + x + 2)
sage: D2 = X([c,d]); D2                                                             # optional - sage.rings.finite_rings
(x + 2, y)
sage: D1 + D2                                                                       # optional - sage.rings.finite_rings
(x^2 + 2*x + 2, y + 2*x + 1)
class sage.schemes.hyperelliptic_curves.jacobian_homset.JacobianHomset_divisor_classes(Y, X, **kwds)#

Bases: SchemeHomset_points

base_extend(R)#
curve()#
value_ring()#

Return S for a homset X(T) where T = Spec(S).