Module: sage.schemes.hyperelliptic_curves.jacobian_homset
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 (1/4*x^2, y + -1/2*x - 1) sage: Q*3 (x^2 - 1/64*x + 1/8, y + 255/512*x + 65/64)
Class: JacobianHomset_divisor_classes
self, X, S) |
Functions: curve,
value_ring
self) |
Returns S for a homset X(T) where T = Spec(S).
Special Functions: __call__,
_cmp_,
_point_morphism_class
self, P) |
Returns a rational point P in the abstract Homset J(K), given:
0. A point P in J = Jac(C), returning P;
1. A point P on the curve C such that J = Jac(C), where C is an
odd degree model, returning [P - oo];
2. A pair of points (P, Q) on the curve C such that J = Jac(C),
returning [P-Q];
2. A list of polynomials (a,b) such that
,
returning [(a(x),y-b(x))].
sage: P, x = PolynomialRing(QQ).objgen() sage: f = x^5 - x + 1; h = x sage: C = HyperellipticCurve(f,h,'u,v') sage: P = C(0,1,1) sage: J = C.jacobian() sage: Q = J(QQ)(P) sage: for i in range(6): Q*i (1) (u, v + -1) (u^2, v + u - 1) (u^2, v + 1) (u, v + 1) (1)