# Base class for Jacobians of curves¶

sage.schemes.jacobians.abstract_jacobian.Jacobian(C)

EXAMPLES:

sage: from sage.schemes.jacobians.abstract_jacobian import Jacobian
sage: P2.<x, y, z> = ProjectiveSpace(QQ, 2)
sage: C = Curve(x^3 + y^3 + z^3)
sage: Jacobian(C)
Jacobian of Projective Plane Curve over Rational Field defined by x^3 + y^3 + z^3

class sage.schemes.jacobians.abstract_jacobian.Jacobian_generic(C)

Base class for Jacobians of projective curves.

The input must be a projective curve over a field.

EXAMPLES:

sage: from sage.schemes.jacobians.abstract_jacobian import Jacobian
sage: P2.<x, y, z> = ProjectiveSpace(QQ, 2)
sage: C = Curve(x^3 + y^3 + z^3)
sage: J = Jacobian(C); J
Jacobian of Projective Plane Curve over Rational Field defined by x^3 + y^3 + z^3

base_extend(R)

Return the natural extension of self over $$R$$

INPUT:

• R – a field. The new base field.

OUTPUT:

The Jacobian over the ring $$R$$.

EXAMPLES:

sage: R.<x> = QQ['x']
sage: H = HyperellipticCurve(x^3-10*x+9)
sage: Jac = H.jacobian();   Jac
Jacobian of Hyperelliptic Curve over Rational Field defined by y^2 = x^3 - 10*x + 9
sage: F.<a> = QQ.extension(x^2+1)
sage: Jac.base_extend(F)
Jacobian of Hyperelliptic Curve over Number Field in a with defining
polynomial x^2 + 1 defined by y^2 = x^3 - 10*x + 9

change_ring(R)

Return the Jacobian over the ring $$R$$.

INPUT:

• R – a field. The new base ring.

OUTPUT:

The Jacobian over the ring $$R$$.

EXAMPLES:

sage: R.<x> = QQ['x']
sage: H = HyperellipticCurve(x^3-10*x+9)
sage: Jac = H.jacobian();   Jac
Jacobian of Hyperelliptic Curve over Rational
Field defined by y^2 = x^3 - 10*x + 9
sage: Jac.change_ring(RDF)
Jacobian of Hyperelliptic Curve over Real Double
Field defined by y^2 = x^3 - 10.0*x + 9.0

curve()

Return the curve of which self is the Jacobian.

EXAMPLES:

sage: from sage.schemes.jacobians.abstract_jacobian import Jacobian
sage: P2.<x, y, z> = ProjectiveSpace(QQ, 2)
sage: J = Jacobian(Curve(x^3 + y^3 + z^3))
sage: J.curve()
Projective Plane Curve over Rational Field defined by x^3 + y^3 + z^3

sage.schemes.jacobians.abstract_jacobian.is_Jacobian(J)

Return True if $$J$$ is of type Jacobian_generic.

EXAMPLES:

sage: from sage.schemes.jacobians.abstract_jacobian import Jacobian, is_Jacobian
sage: P2.<x, y, z> = ProjectiveSpace(QQ, 2)
sage: C = Curve(x^3 + y^3 + z^3)
sage: J = Jacobian(C)
sage: is_Jacobian(J)
True

sage: E = EllipticCurve('37a1')
sage: is_Jacobian(E)
False