Hyperelliptic Curves over and Number Fields

Introduction

A hyperelliptic curve, which is taken to include the genus one case, is given by a nonsingular generalized Weierstrass equation y2 + h(x)y = f(x), where h(x) and f(x) are polynomials over a field K. The curve is viewed as embedded in a weighted projective space, with weights 1, g + 1, and 1, in which the points at infinity are nonsingular.

Functionality for hyperelliptic curves includes optimized algorithms for working on genus two curves over , including heights on the Jacobian, and a datatype for the Kummer surface of the Jacobian. For Jacobians of curves over finite fields, there exist specialized algorithms for computing the group structure of the set of rational points.

Much of the code for hyperelliptic curves, both initially and continuing, has been developed by M. Stoll.

Points

The hyperelliptic curve is embedded in a weighted projective space, with weights 1, g + 1, and 1, respectively on x, y and z. Therefore point triples satisfy the equivalence relation

(x : y : z) = (μx :μg+1y :μz),

and the points at infinity are then normalized to take the form (1 : y : 0).

For a curve C over of the form y2 = f(x) with integral coefficients, Magma can find the set of rational points such that the naive height of the x-coordinate is less than a specified bound. For a curve C over a number field, the set of rational points in a search region defined by two parameters can be found. The algorithm used is a sieve method described by N. Bruin.

Jacobians over Number Fields or

The Jacobian of a hyperelliptic curve is implemented as the divisor class group of the curve. In particular, no equations giving the Jacobian as a variety ever appear. The Jacobian of any hyperelliptic curve can be created, but most of the interesting functionality is over finite fields, or for genus 2 over number fields or .

Points on Jac(C) are represented as divisors on C. They can be specified simply by giving points on C, or divisors on C, or in the Mumford representation, which is the way Magma returns them.

For the remainder of this section the hyperelliptic curve C is assumed to have genus 2.

Let K be a field of characteristic different from 2. Consider a curve of genus 2, given by an equation C : y2 = f(x) where f(x) is a square-free polynomial of degree 5 or 6. Let J be the Jacobian of C. Here a Richelot isogeny is defined to be a polarized isogeny Φ : J – > A between principally polarized abelian surfaces, such that the kernel of Φ over the algebraic closure has group structure ℤ/2ℤ×ℤ/2ℤ. Magma can construct Richelot isogenous surfaces of J, double Richelot isogenies and isogenies having degree a power of 2.

Kummer Surfaces

The Kummer surface K associated to the Jacobian J of a genus 2 curve is the quotient of J by the inverse map. It can be embedded as a quartic hypersurface in projective 3-space whose only singularities are 16 ordinary double points. The Jacobian is a double cover of K ramified at these double points; they are the images of the two-torsion points on J. Resolving the singularities on K yields a K3-surface.

Currently, Kummer surfaces in Magma are not schemes, but are of type SrfKum. They can be used to perform arithmetic on the Jacobian without the need for reduction of divisors. The other nontrivial functionality that uses them is point searching.

The Kummer surface and arithmetic on it are implemented for Jacobians in arbitrary characteristic.

Mordell–Weil Group

The key problem now is to compute the finitely generated Mordell–Weil group of the Jacobian of the curve. For both problems, 2-descent algorithms implemented by N. Bruin (Magma) provide bounds. Complementing this, points can often be found using efficient tools for searching on curves using algorithms implemented by N. Bruin, G. Bailey, and S. Donnelly.

Given a Jacobian J defined by an integral model over the rationals, Magma can determine all rational points on the Jacobian J whose naive height on the associated Kummer surface is less than or equal a given bound. If in addition the curve J has the form y2 = f(x) with integral coefficients then the rational torsion subgroup of J can be computed.

Height functions are provided for working with points on the Mordell–Weil group of the Jacobian of hyperelliptic curves over a number field k. In the case of genus two curves defined over , the canonical height is computed using an algorithm of Müller and Stoll. The algorithm uses local error functions on the associated Kummer surface.

The 2-Selmer group of the Jacobian J of a hyperelliptic curve defined over or a number field gives an upper bound of the rank of the Mordell–Weil group and can be computed. A function is provided which determines the parity of the 2-rank of the Shafarevich–Tate group. Given the Jacobian J of a genus 2 curve these and other tools are the basis of a routine which attempts to compute the Mordell-Weil group J().

Chabauty's Method

Chabauty's method is an algorithm for finding the rational points on a curve C of genus at least 2, that applies when the Mordell-Weil group of J(C) has rank less than the genus of C. It involves doing local calculations at some prime where C has good reduction.

For hyperelliptic curves of genus 2 over Q, two separate routines are available in Magma. The newer routine is far more powerful, with Chabauty calculations being combined with a "Mordell-Weil sieve" which combines information obtained using many different primes, to determine precisely the set of rational points on the curve. However, this routine does not apply to curves with no rational points. Both routines are applicable only when the Chabauty condition holds: for a genus 2 curve, the Jacobian must have Mordell-Weil rank 1. In addition a separate routine is provided for the easy case where the Jacobian has rank 0.

Analytic Jacobians

Suppose C is a curve of genus g defined over the complex numbers. The analytic Jacobian of the curve is an abelian torus and is constructed as follows: We view the complex points on the curve, C(ℂ), as a compact Riemann surface of genus g. Define φ to be a certain mapping from C to g and define L to be the image of the map from the first homology group, H1(C,ℤ), of C to g. Then L turns out to be a lattice in g and so we get the complex torus g/L. We then see that φ is a well-defined mapping from C into g/L. We extend this mapping additively to the divisors of degree zero on C. The Abel-Jacobi theorem states that two divisors map to the same image under φ if and only if they are linearly equivalent and that φ is onto. So there is a bijection between the points of g/L and the points of the (algebraic) Jacobian.

So far the analytic Jacobian g/L is just a torus, but it can be made into an an abelian manifold by choosing a polarization and this makes possible a range of computations. Firstly, the small period matrix and the large period matrix can be computed. Then there is a function that maps the point (x, y) on the curve to the analytic Jacobian and a second function that makes it possible to move points between the analytic and algebraic Jacobians. A faster version of these mappings was provided in 2022 by T. Keller and M. Stoll.

Functionality is provided for finding isomorphisms and isogenies between different analytic Jacobians and also for computing the endomorphism ring of an analytic Jacobian.

Invariants

Over an algebraically closed field K of characteristic p not equal to 2, the isomorphism class of a genus g hyperelliptic curve y2 = f(x) with f∈K[x] corresponds to the orbit of the binary form z2g + 2f(x/z) under the classical action of GL(2, K).

For genus 2 Igusa managed to find a "universal set of invariants", which works in every characteristic, including 2. Given a genus 2 curve, Magma can compute its Igusa invariants and also Igusa-Clebsch invariants, Clebsch invariants and absolute invariants. The Magma package implementing the functions was written by Everett W. Howe with some advice from Michael Stoll and is based on some GP routines written by Fernando Rodriguez–Villegas.

In addition, a package of functions written by Reynald Lercier, Christophe Ritzenthaler and Jeroen Sijsling has been added. It contains, amongst other things, functionality for working with a different set of absolute (as opposed to weighted projective) invariants referred to as Cardona-Quer-Nart-Pujola invariants. These work in characteristic 2 as well as other characteristics, although the definitions are different in the two cases.

For curves of genus 3, the Shioda invariants may be computed for curves in characteristic 0 or characteristic at least 11. Also for genus 3, Maeda invariants can be computed.

The construction of a curve of genus 2 from a given set of Igusa–Clebsch invariants is not always possible, even in theory. But over a finite field or the rationals, Mestre gives a method for deciding whether it is possible and if it is, for finding such a curve. Mestre's algorithm was implemented by P. Gaudry. In any characteristic, the package of Lercier, Ritzenthaler and Sijsling produces a genus 2 curve from a given set of Cardona–Quer–Nart–Pujola invariants. They have also contributed a package for genus 3 hyperelliptic curves that produces a curve from a given set of Shioda invariants.

Automorphism Group and Isomorphism Testing

The genus 2 part of Lercier, Ritzenthaler and Sijsling cpode provides a function to determine the geometric automorphism group of a genus 2 curve in any characteristic by working with Cardona–Quer–Nart–Pujola invariants. They also provide a function that returns a list of all possible geometric automorphism groups for genus 2 curves over a given finite field and the number of isomorphism classes of curves with each possible group.

The genus 3 part of Lercier, Ritzenthaler and Sijsling provides the same for genus 3 hyperelliptic curves, working with Shioda invariants. Here, the characteristic has to be 0 or greater than 7. It is also possible to compute (geometric, reduced) isomorphisms and automorphisms by a fast direct computation in all characteristic different from 2 and genus greater than 1.

Superelliptic Curves

Magma also contains analogues of each of these hyperelliptic algorithms for the generalisation to superelliptic rather than hyperelliptic curves. The theory and implementations were undertaken by B. Creutz (Magma), and M. Mourao. A number of methods are provided which can provably determine all rational points on a curve of genus 2. These include Chabauty's method, implemented by N. Bruin, and a combination of Chabauty with the “Mordell–Weil sieve” method implemented by M. Stoll.