15 Arithmetic Geometry

The area of number theory known as "arithmetic algebraic geometry" is mainly concerned with studying algebraic varieties over a non-algebraically closed base field, especially properties that are highly sensitive to the base field. For instance, one seeks to understand the set of rational points and other rationality questions, points over local or finite fields, and associated L-functions.

Magma has extensive packages dealing with arithmetic features for several much-studied classes of curves. Many algorithms of interest for curves over global fields are implemented not only over but also over number fields or function fields. The main packages are:

15.1 Rational Curves and Conics

Rational curves and conics in Magma are nonsingular plane curves of degree 1 and 2, respectively. The central functionality for conics concerns the existence of points over the rationals. If a point is known to exist, then a conic can be parameterized by a projective line or a rational curve. A rational curve in Magma is a linearly embedded image of the projective line, to which the full machinery of algebraic plane curves may be applied. Tools provided include the local-global theory, the existence of points on conics, efficient algorithms for finding rational points, parametrizations and isomorphisms of genus zero curves.

  • Computation of a conic model, for an arbitrary curve of genus zero

  • Diagonalization of a given conic over a general field

  • Over number fields, a careful diagonalization routine which avoids making the discriminant harder to factor

  • Routines to decide whether a conic is solvable, over , number fields and function fields; calculation of Hilbert symbols

  • Solution of conics over using Simon's algorithm (this involves LLL-reduction of an indefinite form, and includes Cremona-Rusin reduction as a special case)

  • Solution of conics over rational function fields using the algorithm of Cremona-van Hoeij

  • Solution of conics over number fields using an algorithm based on Lagrange's method plus other techniques

  • Reduction of a rational point on a conic so that its coordinates satisfy Holzer's bounds (using an algorithm due to Mordell)

  • Parametrization of a general conic using a known point

  • Simon's parametrization for conics over

15.2 Elliptic Curves

Magma contains an extensive module for computing with elliptic curves. The reader should note that elliptic curves inherit from the general plane curve datatype so that all plane curve operations are applicable in addition to those listed below.

15.2.1 Construction and Properties

  • Creation of an elliptic curve over a field

  • Creation of an elliptic curve with given j-invariant

  • Creation of an elliptic curve from a general genus 1 curve

  • Models: Weierstrass form, integral model, minimal model, simplified model

  • Arithmetic with rational points, including division

  • Extension and lifting of curves induced by maps of base rings

  • Function fields, divisors, places

  • Invariants: b-invariants, c-invariants, j-invariant, discriminant

  • Division polynomials

  • Subgroups and subschemes of elliptic curves as separate types

15.2.2 Morphisms

  • Extension and lifting of maps induced by change of base ring of curves

  • Isomorphisms, isogenies and rational maps between curves, translation maps on a curve

  • Isogeny operations: degree, composition, construction with given kernel, Frobenius endomorphism

  • Kernel and image of an isogeny as subgroups, image and preimage of a subgroup under an isogeny

  • Endomorphisms

  • Isomorphism operations: inverses, composition

  • Testing for isomorphic curves over fields with root-finding

  • Testing for isogenous curves over finite fields via point-counting, and over the rationals via kernels (a map is returned also here)

15.2.3 Features over finite fields

Magma contains implementations of various methods for point-counting, each optimized for fields in a certain range. In addition, there are efficient implementations of some items of cryptographic interest, including pairings and GHS.

  • Characterization of ordinary and supersingular elliptic curves

  • Representative supersingular curve

  • Enumeration of all points (small fields), random point

  • Quadratic twist, all quadratic twist, all twists

  • Order of a point via baby-step–giant-step for small p

  • Schoof-Elkies-Atkin (SEA) algorithm for finding the order of the group of rational points

  • Schoof-Elkies-Atkin (SEA) algorithm with early abort facility for searching for cryptographically secure curves

  • Lercier's extension of the SEA algorithm

  • p-adic canonical lift methods for determining the number of points over finite fields of small characteristic p (p up to around 50).

  • p-adic deformation methods for determining the number of points over finite fields of smallish characteristic p not covered by canonical lift.

  • Structure of the abelian group of rational points

  • The zeta function of a curve

  • Discrete logarithm (parallel collision search version of the Pollard rho algorithm)

  • Weil, Tate and Eta pairings

  • Gaudry-Hess-Smart (GHS) descent with explicit map from the curve to divisors (or to the Jacobian of a hyperelliptic curve).

For a random curve taken over a 168-bit prime field GF(p), Magma takes an average of 47 seconds to determine the order of the group. In the case of a random curve taken over a 400-bit prime field the average runtime is 2200 seconds. In characteristic two, Magma takes around 0.03 seconds for a curve over GF(2162), where Gaussian Normal Bases are available and 0.12 seconds over GF(2160). Over GF(2268) (again with GNB) it takes around 0.06 seconds.

15.2.4 Features over

  • Invariants: conductor, regulator, periods, and period lattice

  • Torsion subgroup

  • Tate's algorithm for computing local information, Kodaira symbols and Tamagawa numbers

  • Twist of an elliptic curve by an integer, minimal twist

  • Theory of heights: local height, naive height, canonical height, height pairing

  • Bounds on the "height difference": Silverman's bound and Siksek's bound

  • p-adic heights

  • Elliptic logarithm, p-adic elliptic logarithm

  • Elliptic exponential (-function) using Newton iteration

  • L-series, and special values of the L-series,

  • Analytic rank

  • Root numbers

  • modular degree

  • Isogeny class, computation of isogenies

  • Heegner points for rank 1 curves, and general modular parametrisation

  • Rigorous determination of the finite set of S-integral points, for a given finite set of prime S. As an application, determination of the S-integral points on other genus 1 curves (quartic, Ljunggren and Desboves curves).

  • John Cremona's database of all elliptic curves over Q having conductor up to 130 000

15.2.5 Rational points over

Magma contains an unrivalled array of techniques that are used for determining the Mordell-Weil group of rational points E(ℚ) for a curve over (including the analytic tools already listed). These are applied in various combinations to obtain bounds on the Mordell-Weil rank, and to find generators.

  • 2-descent using the "invariant method" (the algorithm that is implemented in John Cremona's program "mwrank")

  • 2-descent using the "algebraic method" (recently re-implemented efficiently)

  • Cassels-Tate pairing between 2-coverings (fast algorithm of Donnelly)

  • 4-descent above a given 2-covering (algorithm of Merriman-Siksek-Smart, with refinements)

  • Cassels-Tate pairing to resolve 4-coverings (algorithm of Donnelly)

  • 8-descent above a given 4-covering (algorithm of Stamminger and Fisher)

  • 3-descent (algorithms of Cremona-Fisher-O'Neil-Simon-Stoll and Schaefer-Stoll)

  • 6- and 12-descent as combination of 2-, 3- and 4-descent (Fisher)

  • Descent using 2-isogenies or 3-isogenies.

  • Minimisation and reduction of the covering curves in each of these cases (algorithms mainly due to Cremona, Fisher and Stoll)

  • Searching on for rational points on the elliptic curve, and on 2-coverings, using sieving

  • Point-searching on 4-coverings using a dedicated implementation of Elkies p-adic method

  • Point-searching on other coverings using the general-purpose implementation of Elkies p-adic method

15.2.6 Features over number fields

  • Tate's algorithm, local information and local minimal model

  • Conductor

  • Global minimal model in the case where one exists

  • Torsion subgroup (and torsion bounds, p-torsion subgroup)

  • Height machinery

  • Analytic rank

  • L-functions

  • Determining whether curve has complex multiplication (this returns the discriminant of the CM order).

  • "Elliptic curve Chabauty" methods, with Mordell-Weil sieving (algorithm of Bruin)

15.2.7 Rational points over number fields

Some of the techniques for Mordell-Weil groups over are also implemented for number fields.

  • 2-Selmer groups, 2-descent

  • 2-isogeny Selmer groups

  • Cassels-Tate pairing between 2-coverings (algorithm of Donnelly)

  • 4-descent, using code for "descent on a 2-covering" (Bruin, Stoll)

  • Point-searching on elliptic curves and 2-coverings

15.2.8 Features over function fields

Many of the same features are also implemented for elliptic curves over univariate function fields and their finite extensions. (However, many of the individual routines impose further restrictions: for instance, only allowing fields with finite base field, or odd characteristic, or only rational function fields.)

  • Tate's algorithm, local information and local minimal model

  • Conductor, global minimal model

  • Torsion subgroup (and torsion bounds, p-torsion subgroup)

  • Height machinery

  • L-functions

  • Analytic rank bounds

15.2.9 Rational points over function fields

  • 2-descent in odd characteristic

  • Cassels-Tate pairing between 2 coverings in odd characteristic

  • 2-descent (via isogenies) for ordinary curves in characteristic 2

  • Computation of the Mordell-Weil group via the Neron-Severi group of the elliptic surface in cases where this is a rational surface.

15.3 Models of Genus One Curves

This package deals "genus one normal models" of degree n = 2 (hyperelliptic curve), n = 3 (plane cubic), n = 4 (quadric intersection in P3) or n = 5 (in which case the model is given in a more complicated way). An element of order n = 2,3,4 or 5 in the Tate-Shafarevich group of an elliptic curve can be expressed as a curve in this form. The package provides a variety of routines based on the invariant theory of these objects, as well as routines for obtaining "nice" models (for models over ) by minimisation and reduction.

Most of the algorithms are due to Fisher, Cremona and Stoll.

  • Creation of genus one models of degree 2,3,4 or 5 from various input

  • Extraction of defining data, equations for the curve

  • Standard a,b and c "invariants" of a model; the Jacobian and n-covering map

  • Polynomial formulas given for families of elliptic curve with the same n-torsion as a given curve.

  • Handling of transformations of genus one models

  • Minimisation (over and rational function fields)

  • Reduction (over for n = 2,3 and 4)

  • Addition of models, regarded as elements of the Weil-Chatelet group

  • Testing equivalence of two given models over

  • Local solubility testing for models over

15.4 Hyperelliptic Curves and Jacobians

Hyperelliptic curves in Magma are a special type of curve; they are given as nonsingular curves in a naturally weighted projective plane. They inherit all operations that are valid for general curves. In contrast, Jacobians are not implemented as a type of scheme or variety; instead they are implemented in terms of divisors on the curve. In particular, Jacobians are not defined by a set of algebraic equations, or by an embedding. They do not inherit from the general scheme datatype.

The broad aims of the package are as follows. One wants fast arithmetic on Jacobians (operations with normalized divisors) over general fields. Over finite fields, one wants methods for determining the number of points on curves and on their Jacobians, and more generally the zeta functions. Over global fields, one is mostly interested in the group of rational points on a Jacobian and the (finite) set of rational points on a curve, as well as local properties, heights and so on.

The first version of this package was developed by Michael Stoll; others who made major contributions include P. Gaudry, E. Howe, and several past and current members of the Magma group.

15.4.1 Construction and Properties

  • Standard quadratic models, simplified models

  • Creation of isomorphisms, automorphisms, and operations with these

  • Test for curves being isomorphic

  • Function fields, divisors, places

  • Invariants: degree, genus, discriminant

  • Igusa and related invariants

  • Construction of a curve given its Igusa invariants (over suitable fields)

  • Extension and lifting of curves induced by maps of base rings

  • Determination of points at infinity

  • Determination of whether a general algebraic curve C is hyperelliptic and, if so, computation of a Weierstrass model for C

  • Determination of whether a general algebraic curve C is geometrically hyperelliptic - ie, is hyperelliptic over the algebraic closure of the ground field.

15.4.2 Operations on curves over finite fields

  • Enumeration of all rational points (for small fields)

  • Random point

  • Quadratic twist, all quadratic twists

  • Counting points

  • Zeta function

15.4.3 Operations on curves over

  • Integral model, minimal Weierstrass model, p-normal model, reduced model

  • Reduction types and conductors of a genus 2 curve at odd primes

  • Local solubility testing (optimized code for the case of hyperelliptic curves)

  • 2-descent "on the curve" giving a bound on the set of rational points, often better than 2-descent on the Jacobian (algorithm of Bruin and Stoll)

15.4.4 Construction of Jacobians

  • Creation of the Jacobian of a given curve as the divisor class group

  • Creation of points

  • Normal form and addition of points

  • Fast addition algorithm of R. Harley for genus 2 curves

  • Analytic model of the Jacobian: translation between the algebraic and analytic Jacobians

15.4.5 Kummer Surface of a genus 2 Jacobian

The Kummer surface is a certain quotient of a genus 2 Jacobian. In Magma, it is part of the data associated to the Jacobian. However, unlike the Jacobian itself, the Kummer surface is given by a defining equation.

  • The defining equation of the surface

  • Creation of points

  • Pseudo-addition, and duplication of points

  • Preimage on the Jacobian of a given point on the Kummer surface

  • Search for rational points having three coordinates specified

15.4.6 Operations on Jacobians over finite fields

The p-adic techniques used for point counting in small characteristic p are Kedlaya's algorithm (p odd) and Mestre's canonical lift method as adapted by Lercier and Lubicz (p = 2) [implemented by M. Harrison]. The other techniques for point counting are due to P. Gaudry and R. Harley and have been implemented in Magma by P. Gaudry.

  • Enumeration of all rational points (small fields), random point

  • Order of a point via the Shanks or the Pollard-rho algorithms

  • Counting points: p-adic methods of Kedlaya and Mestre/Lercier/Lubicz

  • Counting points: p-adic deformation method.

  • Counting points: Shanks and Pollard methods

  • Counting points: An index calculus method for when the genus is large compared to the base field

  • Counting points: Schoof algorithm for finding the order modulo small primes in the case of a genus 2 curve

  • Counting points: Class group methods using the function field machinery.

  • Structure of the abelian group of rational points

  • Weil pairing of points

15.4.7 Operations on Jacobians over

Some of the functions listed here apply only for Jacobians of genus 2 curves, while others also apply for higher genus hyperelliptic curves.

  • Order of a point

  • 2-torsion subgroup, full torsion subgroup

  • Naive height and canonical height of a point, bounds on the "height difference", the height pairing matrix and regulator

  • Enumeration of all -rational points up to a given height bound (Elkies-Stahlke-Stoll method)

  • Rank of the subgroup of the Mordell-Weil group generated by a given set of points on the Jacobian

  • Computation of the 2-Selmer group, giving a bound on the Mordell-Weil rank

  • Chabauty's method combined with Mordell-Weil sieving allows determination of the set of rational points on a genus 2 curve over Q with Mordell–Weil rank 1, assuming the Mordell-Weil group of the Jacobian is known.

  • Analytic representation of a Jacobian; conversion of points between the representations; computation of analytic invariants

Some of this functionality is also implemented over general number fields, including the torsion routines, the height machinery, and the 2-Selmer group.

15.5 L-Series

There are many arithmetic objects that can have L-functions attached to them, and the ability to compute with these then opens up a wide array of computational possibilities. For instance, one can study special values, or look at the distribution of zeros. The Magma package for L-functions is largely due to Tim Dokchitser, and contains a variety of nontrivial functionality for many objects. There is also the ability for the user to self-build L-functions, either for individual objects, or for classes of them. The main prerequisite for this is the ability to compute Euler factors.

The classical ζ-functions of Riemann and Dedekind, and their generalisations by Dirichlet and Hecke, form the first examples (these are GL(1) in some sense), with elliptic curves and modular forms giving examples on GL(2). Magma can also compute with these over number fields other than the rationals, with Artin representations being available (these are useful when the Galois closure is small), possibly through tensor products. The ability to take some tensor products and symmetric powers also exists, though the computations at bad primes are not yet fully automated, and the generality still needs to be expanded. Many examples are given in the handbook.

  • Riemann ζ-function

  • Dirichlet L-functions

  • The Dedekind ζ-function of a number field

  • Hecke L-functions (including for Grössencharacters)

  • L-functions of Artin representations

  • Hasse-Weil L-functions (associated to elliptic curves)

  • L-functions associated to modular forms (newforms)

  • "Tensor products" of L-functions

  • Symmetric power L-functions

  • Facility to construct user-defined L-functions (with coefficients determined by a given function)