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).