### Navigation

- index
- modules |
- next |
- previous |
- Plane curves »

# Jacobian of a Hyperelliptic curve of Genus 2

class `sage.schemes.hyperelliptic_curves.jacobian_g2.``HyperellipticJacobian_g2`(C)

  Bases: `sage.schemes.hyperelliptic_curves.jacobian_generic.HyperellipticJacobian_generic`

  TESTS:

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

  Note: this is an abstract parent, so we skip element tests:

      sage: TestSuite(J).run(skip =["_test_an_element",                                          "_test_elements",                                          "_test_elements_eq_reflexive",                                          "_test_elements_eq_symmetric",                                          "_test_elements_eq_transitive",                                          "_test_elements_neq",                                          "_test_some_elements"])

      sage: Jacobian_generic(ZZ)
      Traceback (most recent call last):
      ...
      TypeError: Argument (=Integer Ring) must be a scheme.
      sage: Jacobian_generic(P2)
      Traceback (most recent call last):
      ...
      ValueError: C (=Projective Space of dimension 2 over Rational Field) must have dimension 1.
      sage: P2.<x, y, z> = ProjectiveSpace(Zmod(6), 2)
      sage: C = Curve(x + y + z)
      sage: Jacobian_generic(C)
      Traceback (most recent call last):
      ...
      TypeError: C (=Projective Curve over Ring of integers modulo 6 defined by x + y + z) must be defined over a field.

  `kummer_surface`()

    x.__init__(...) initializes x; see help(type(x)) for signature

### Navigation

- index
- modules |
- next |
- previous |
- Plane curves »