14 Algebraic Geometry

The algebraic geometry module includes both machinery for studying general algebraic varieties and facilities for working with more restricted varieties suach as algebraic curves and surfaces. The major categories include:

14.1 Schemes

This module comprises general tools for working with schemes defined by polynomial equations in affine or projective space. Such tools include Gröbner basis computation, dimension and image of maps, and linear algebra calculations formalised as linear systems on projective space. Maps between spaces may also be constructed and studied.

14.1.1 Ambient Spaces

A scheme is contained in some ambient space, either an affine space or one of a small number of standard projective spaces. A characteristic of these spaces is that they have some kind of polynomial ring as their coordinate ring.

  • Affine and projective spaces including weighted projective space

  • Ruled surfaces

  • Rational scrolls

  • Direct products of ambient spaces

  • Points of schemes with coefficients in k-algebras

14.1.2 Creation and Properties

  • Creation of schemes by equations or implicit methods

  • Saturation of the defining ideal of a scheme in the projective cases

  • Changing the base ring

  • Point set operations

  • Projective closure and affine patches

  • Global properties: Dimension, reducibility, singularity

  • Prime components, primary components

  • Local geometric analysis: singularities, tangent spaces

  • Zero-dimensional schemes

  • Determining whether a scheme over a number field is locally solvable

  • Searching for points (over the rationals).

  • Listing of all points oevr a finite field.

14.1.3 Mappings

  • Construction of maps between spaces

  • Coordinate manipulation functions, including birational transformations of the projective plane

  • Calculation of pullbacks of schemes by maps

  • Tools to enable the calculation of images of schemes by maps

  • A large number of specialised types of schemes, especially curves, have additional map functionality

  • Availability of maps with multiple definitions

  • Alternative map type for ordinary projective schemes defined by the "graph" of the map in the product scheme.

14.1.4 Automorphisms

Automorphisms of schemes defined over a field may be constructed. The main cases where there is significant functionality is for automorphisms of affine and projective spaces and algebraic curves.

  • Construction of general automorphisms of affine space in terms of functions or matrices

  • Construction of special automorphisms of affine space: translation, permutation automorphisms, Nagata automorphism, projectivities

  • Construction of general automorphisms of projective space in terms of polynomials or matrices

  • Construction of special automorphisms of projective space: translation, quadratic transformation

  • Automorphism group of a projective space defined over a finite field

  • Automorphism groups of algebraic curves of genus at least 2 (see below).

14.1.5 Isomorphic Projections

  • Computation of the tangent and secant varieties of schemes

  • Faster tests for whether a specified point lies in the tangent or the secant varieties of a scheme.

  • Isomorphic projection of projective schemes to smaller dimensional ambient spaces

  • Birational embedding of plane curves as non-singular projective space curves in 3-dimensional space

14.1.6 Linear Systems

The complete linear system on P of degree d is the collection of all homogeneous polynomials of degree d on P, or equivalently, the degree d hypersurfaces thereby defined. A general linear system corresponds to some vector subspace of the coefficient space of a complete linear system.

  • Creation of a linear system explicitly

  • Creation of a linear system satisfying geometric conditions

  • Properties: Sections, degree, dimension, base scheme

  • Properties: Base component, base points, generic multiplicity at a point

  • Complement with respect to a subsystem or scheme

  • Intersection

  • Maps of a linear system

14.2 Coherent Sheaves

Machinery for operations related to coherent sheaves on projective schemes. Currently it is only available for ordinary projective schemes. There is functionality to obtain some important sheaves, like the canonical sheaf, and perform some basic constructions, like tensor powers or duals. The initial emphasis has been on invertible sheaves and their associated maps into projective space. The map of such a sheaf and its image may be computed. The invertible sheaf associated to an effective Cartier divisor D, given as a subscheme of the base scheme, can be computed and a Riemann-Roch space for D can be returned in explicit form. The dimension of cohomology groups of arbitrary sheaves can be computed. The maximal representing graded module of the sheaf - the full module of global sections of all twists - can also be computed, which is key to much of the functionality. There are various tests for properties like local-freeness. The package was developed in Sydney and the algorithms rely on a number of computational commutative algebra tricks well-known to the experts in the field.

  • Definition of a general sheaf via a graded module over the coordinate ring of the ambient scheme.

  • Computation of some special sheaves like the structure sheaf and the canonical sheaf of a locally Cohen-Macaulay equidimensional scheme.

  • Serre twists of a sheaf.

  • Computation of the maximal (saturated) module representing a sheaf.

  • Tensor products and powers, direct sums, duals and Homs.

  • Homomorphisms between sheaves on the same base scheme. Kernels, images and cokernels.

  • Test for local-freeness.

  • Test for a sheaf being arithmetically Cohen-Macaulay.

  • Test for and construction of isomorphisms between sheaves on the same base scheme.

  • The associated "divisor" map into projective space of an invertible sheaf and its image. Includes, for example, canonical, anticanonical and adjunction maps.

  • The Riemann-Roch space of an effective Cartier divisor D and an invertible sheaf isomorphic to O([D]).

  • Dimension over the base field of cohomology groups of twists of a sheaf, using the Decker-Eisenbud-Floystad-Schreyer algorithm based on the BGG correspondence. This can be used to get various standard invariants of a scheme.

  • Intersection pairing of the divisor classes represented by two invertible sheaves on a non-singular projective surface.

14.3 General Algebraic Curves

Magma includes a general package for working with algebraic curves. These are schemes of dimension 1, a particular case being plane curves that are defined by the vanishing of a single polynomial in 2-dimensional affine or projective space. The main features of interest are for integral (reduced and irreducible) curves. For these Magma computes explicit representations of the curve's field of rational functions allowing computations with places, divisors and differentials, calculation of the geometric genus, computation of Riemann-Roch spaces and more. This relies on the underlying function field machinery, but the results are available purely in the context of curve structures.

14.3.1 Construction and General Properties

  • Creation of affine and projective curves together with the ambient spaces

  • Basic manoeuvres between affine and projective curves: projective closure, affine patches and so on

  • Basic scheme-type functions: e.g., irreducibility

  • Specialised data types for distinct classes of curves such as elliptic curves

  • Linear systems of curves in the projective plane with assigned basepoints

  • Implicitization of parametric curves

  • Parametrization of rational curves

  • Point searches on plane curves using a p-adic method of Elkies

  • Global invariants of curves, such as genus and dimension

  • Function field and divisor computations (see below)

  • Random curves by genus over the rationals or finite fields for all genera up to 13.

  • Index calculus for discrete logs on the Jacobians of plane curves.

14.3.2 Mappings

  • Creation of the basic automorphisms of the affine plane (translation, flip, automorphism) and general maps between curves.

  • Evaluation of the image of a point under a rational map as a power series expansion

  • Ramification divisor of a non-constant dominant map

  • Pullbacks and pushforwards of functions, differentials or divisors along maps between curves.

  • Explicit computation of the map into ordinary projective space associated to a divisor (class) - in particular the canonical map. Optimised computation of canonical images.

14.3.3 Automorphism groups

  • Computation of the full automorphism group (over the base field) of an (integral) algebraic curve of genus at least 2.

  • Structures for defining and working with groups of automorphisms of such curves. In particular, efficient arithmetic of automorphisms (products, powers, etc.) and subgroup definition.

  • Abstract realisation of an automorphism group as a permutation group with 2-way correspondence. This allows the full range of abstract group constructions (eg p-Sylow subgroups) to be applied.

  • Computation of the quotient of a curve by a group of automorphisms as a new curve with an explicit quotient scheme map.

  • Tests for isomorphism and construction of explicit isomorphisms as scheme maps.

14.3.4 Local Analysis

  • Calculation of tangent spaces and cones for plane curves

  • Identification of all singularities of a curve, together with the basic analysis

  • Blowups, including weighted blowups, of points on plane curves

  • Local intersections on plane curves

14.3.5 Ordinary Plane Curves

  • Tests for only ordinary or only nodal singularities of plane curves.

  • Special computation of the canonical or more general adjoint maps for an ordinary plane curve.

  • Random nodal curves of specified degree and number of singularities.

  • Random ordinary curves of specified degree and with specified number of ordinary singularities of given multiplicities.

  • Special parametrization routines for ordinary rational plane curves and rational normal curves.

14.3.6 Function Field

The following functions apply to integral curves in general.

  • Construction of the function field of a curve

  • Function field arithmetic

  • Exact constant field

  • Enumeration of places of degree m (over a finite field)

  • Residue class field

  • Class number

  • Divisor class group of a curve defined over a finite field

  • Group of global units of the function field of a curve

14.3.7 Divisors and the Riemann-Roch Theorem

The following functions apply to integral curves in general.

  • Creation of places and divisors and their arithmetic

  • Compute the divisor of a function on a curve and other constructors

  • Determine whether a divisor is principal and if so find a function with the given divisor

  • Ramification divisor

  • Riemann–Roch space of a divisor

  • Computation of Weierstrass places on a curve

14.3.8 Differentials

The following functions apply to integral curves in general.

  • Arithmetic and various, related operations

  • Valuation of a differential at a place

  • Divisor of a differential

  • Differential spaces for given divisors (e.g. holomorphic differentials)

  • Higher differentiations

  • Residue of a differential at a place of degree one

  • Cartier operator and representation matrix of the Cartier operator (curves over finite fields)

14.3.9 Resolution Graphs and Splice Diagrams

  • Creation of resolution graphs and their vertices, either implicitly using resolution routines or Newton Polygons, or explicitly by listing the required data

  • Calculation of numerical data associated to blowups, e.g., the canonical class of certain rational surfaces

  • The Cartan matrix of a graph and associated calculations such as the contribution to the genus of a plane curve of a singularity having a given graph as its resolution

  • Surgery on resolution graphs such as cutting an edge of a graph

  • Creation of splice diagrams implicitly and explicitly

  • Edge determinants and linking numbers of splice diagrams

  • Test for regularity of splice diagrams

  • Translation between resolution graphs and splice diagrams

These decorated graphs encode data generated by the resolution machinery. At present they are only attached to resolutions of plane curve singularities, but in due course they may be extended to resolutions of linear systems, surface singularities, special fibres in curve fibrations or other geometrical contexts. The package includes a resolution function for curves adapted to present its output in resolution graph format. This does not supersede other resolution machinery such as Puiseux expansions or genus calculations, but is intended as a complementary tool for those users with this kind of geometric background.

14.4 Algebraic Surfaces

Magma now contains special functionality for general projective hypersurfaces in 3 and other specific types of algebraic surface like anticanonically-embedded Del Pezzo surfaces. The general hypersurface package was developed in Linz by Josef Schicho and Tobias Beck. It's main aim is the formal desingularisation of 2-dimensional hypersurfaces. This allows the computation of invariants like the geometric plurigenera and more generally gives explicit adjoint linear systems that represent the canonical, anticanonical or adjunction mappings amongst others. The package also contains a function to classify rational hypersurfaces and map them to terminal types. This combines with the other main component of the current surface functionality, which is specific code to parametrize terminal rational surfaces. The major part of this is packages for parametrizing Del Pezzo surfaces, which were developed in joint work by Schicho's group and the Magma group and use the Lie algebra method for the high degree Del Pezzos. The sheaf module also provides some useful general functionality that may be applied to locally Cohen-Macaulay schemes in ordinary projective space representing surfaces (see above).

14.4.1 Formal Desingularisation and Classification

  • Formal resolution of singularities of hypersurfaces in 3-D projective space over a field of characteristic zero, following the Hirzebruch-Jung method.

  • Result given using algebraic power series for the formal completions of components over the singular locus.

  • Geometric genus, arithmetic genus and higher plurigenera of (any) desingularisation.

  • General KXn(m) adjoint linear systems.

  • Tests for a hypersurface being rational or (birationally) ruled.

  • Classification of rational surfaces by terminal type. Construction of birational map to terminal model following Schicho's algorithm.

14.4.2 Parametrization Of Rational Surfaces

  • Test for the parametrizability over the rational numbers of a rational hypersurface in 3-D projective space and construction of an explicit parametrization.

  • Routines for the direct parametrization of singular or non-singular anticanonically embedded Del Pezzo surfaces of degree at least 5 over the rationals. Uses the Lie algebra method for degree greater than 5.

  • General routine for direct parametrization of any degree Del Pezzo (singular or non-singular) in its standard weighted anticanonical ample embedding by blowing down lines to reduce to degree at least 5.

  • Routines for the direct parametrization of quadric hypersurfaces, rational pencils and conic bundles.

14.5 Toric Varieties

There are many points of view on toric geometry and many different uses. The applications motivating this implementation come from low dimensional birational geometry and mirror symmetry; it is capable of doing substantial algebraic geometry, as well as the usual array of combinatorial routines associated to polytopes, cones and fans. In particular the construction of any general toric variety is possible; you are not limited to the standard subclasses such as smooth or -factorial examples. Toric varieties can also be used as ambient spaces for other more complicated varieties (in the same way as affine and projective spaces).

14.5.1 Toric lattices

One often begins to study toric geometry by considering a lattice L = ℤn and discussing polygons or cones in its overlying rational vector space L = L⊗ℚ. In Magma we bind these two spaces together in a single object, a toric lattice. Although these spaces lie underneath all the combinatorics, it is seldom necessary to be explicit about them; they often remain invisible. Magma supports many operations for constructing and manipulating toric lattices, including:

  • Creation of a toric lattice and its dual;

  • Construction of direct sums, sublattice, and (torsion free) quotient lattices;

  • The sublattice fixed under a group action;

  • Maps between toric lattices;

  • Standard operations on points in a toric lattice.

14.5.2 Cones and Polyhedra

A cone (in a toric lattice L) is the convex hull of finitely many rays. A (rational) polytope is the convex hull of finitely many points of L. More generally a (rational) polyhedron is given by the Minkowski sum of a polytope and a cone. There exist dual definitions in terms of the intersection of finitely many half-spaces. There is no requirement that polyhedra are of maximum dimension in the ambient toric lattice. Important operations include:

  • Standard constructions of cones, half-spaces, cross polytopes, cyclic polytopes, etc.;

  • Creation of cones and polyhedrons via a system of inequalities;

  • The defining inequalities of a cone or polyhedron;

  • The dual cone or polyhedron;

  • Taking the (affine) linear space spanned by, or contained in, a polyhedron;

  • Standard properties such as dimension, volume, and boundary volume;

  • Triangulations of a polytope and of its boundary;

  • Information on whether a polyhedron is simplicial, reflexive, terminal, etc.;

  • Construction of the cone in L×ℤ spanned by a polyhedron P in L;

  • The polyhedron defined by taking the convex hull of P∩ℤn for any polyhedron P;

  • The infinite and compact parts of a polyhedron;

  • Calculation of intersections, Minkowski sums, translations, etc.;

  • Taking hyperplane slices;

  • The minimum -generators and -generators of a cone;

  • Point membership;

  • Point counting and enumeration of lattice points;

  • The Ehrhart series, Ehrhart polynomial, and δ-vector of a polytope;

  • Faces of a cone or polyhedron, the f-vector and h-vector;

  • Construction of the face-poset;

  • The group of lattice automorphisms fixing a polytope.

14.5.3 Fans

A fan F (in a toric lattice L) is a collection of cones in L satisfying the usual conditions of a cell decomposition. Magma allows for the construction of any fan; it will check that the cones intersect correctly, and will add the lower-dimensional cones as necessary. There are also several constructors for well-known fans, and standard methods for modifying existing fans.

  • Creation of a fan from a collection of cones;

  • Constructions for the fan of affine space, projective space, and weighted projective space;

  • Construction of the product of two (or more) fans;

  • The dual fan and spanning fan generated by a polyhedron;

  • The normal fan to a cone C, given by the quotient of L by the span of C;

  • Support and point membership;

  • Extraction of the rays, one-skeleton, singular cones, maximum dimensional cones, and so forth;

  • The blowup of F at a point in L;

  • Answers to questions such as whether F is projective, or nonsingular, or -factorial;

  • The simplicial subdivision of a fan;

  • A refinement of F such that the resulting fan is nonsingular;

  • Maps between fans.

14.5.4 Basic operations on toric varieties

There exist many standard constructors for toric varieties. They can also be defined directly from a fan, or in terms of a Cox ring. However one constructs a toric variety, the corresponding fan can always be recovered, although this is seldom necessary. Once you have constructed your toric variety you can treat it as a purely geometric object, as you would any scheme in Magma. Operations include:

  • Standard constructions for affine, projective, and weighted projective space;

  • Construction of scrolls, or of any toric variety specified by a collection of gradings;

  • The toric variety given by the product X×Y;

  • Recovery of a fan from any toric variety, and of the toric variety associated to any fan;

  • The variety corresponding to a Cox ring can be constructed, and the Cox ring of any toric variety recovered;

  • Extract the i-th affine patch of a toric variety X, along with the inclusion map;

  • A resolution, -factorialisation, terminalisation, etc., along with the corresponding maps;

  • Extract the one parameter subgroup lattice, monomial lattice, Cox monomial lattice, or divisor class lattice;

  • Is the variety complete? Is it projective? Is it Fano?

  • Determine whether the toric variety is nonsingular, Gorenstein, -factorial, terminal, or canonical.

14.5.5 Maps of toric varieties

Magma supports the creation of very general maps between toric varieties. These can be derived from maps between the associated toric lattices, or presented in terms of the variables of the Cox ring. More generally one can define all maps between toric varieties using an appropriate notion of 'rational radical function' defined in terms of the polynomial Cox coordinates. Common questions Magma can answer include:

  • Are two toric varieties naturally isomorphic?

  • Is a given map regular?

  • The indeterminancy locus of a map.

14.5.6 Invariant divisors and Riemann-Roch spaces

Divisors on toric varieties work in the same way as on other varieties, except that within each linear equivalence class it is possible to choose torus invariant representatives. Divisors on a toric variety have a single divisor group as their parent; divisors can be constructed by coercing the appropriate data into this group, or via several standard constructions. Once you have constructed your divisor, Magma supports all the operations you would expect. Examples are:

  • Construction of the zero divisor and canonical divisor;

  • Construction of a "nice" representative of an element in the Picard latice or divisor class lattice, chosen to be as effective as possible;

  • The combinatorial data defining a Weil or Cartier divisor;

  • Is a given divisor principal or -principal? Is it linearly equivalent to a Cartier divisor?

  • Are two divisors linearly equivalent?

  • Answers to questions such as whether a divisor D is Cartier, -Cartier, Weil, ample, very ample, nef, or big;

  • The Picard class or movable part of a divisor D;

  • Proj of the ring of sections of D;

  • The relative (sheaf) Proj of sections of the divisor D;

  • The Riemann-Roch polytope associated to a divisor;

  • The basis of the associated Riemann-Roch space;

  • The graded cone of sections of multiples of D;

  • The Hilbert series and Hilbert polynomial of (X,D).

14.5.7 Mori theory

The Mori cone and nef cone of a toric variety can be computed, extremal rays calculated, and so on. Magma can answer questions such as whether a given extremal ray corresponds to a Mori fibre space, is a divisorial contraction, or gives a small contraction. Standard constructions and operations are also supported:

  • The images of extremal contractions of rays in the nef cone;

  • A description of the extremal contractions;

  • The (generalised) flip of the morphism given by the -Cartier divisor;

  • The weights of the Gm action whose variation would give the flip;

  • An implementation of the Minimal Model Programme.

14.6 Graded Rings and Geometric Databases

The computation of generic families of K3 surfaces embedded in weighted projective spaces of small dimension is a project that has been running since the mid-1970s. Until two years ago, a main result was a collection of about 400 families of K3 surfaces (which had been recorded as a database in Magma). Magma now contains a database of 24,099 K3 surfaces (including correcting half a dozen mistakes in codimension 4) that, in a well-defined sense, contains a sketch of all possible examples.

One main point is that these results are a major step on the way to understanding Fano 3-folds and their birational automorphisms. These are the 3-dimensional analogues of rational curves or Del Pezzo surfaces and are a very exciting research frontier. It is possible that the final classification of Fano 3-folds (expected to contain a few thousand families) will almost be contained in the K3 database.

The methods applied to K3 surfaces work in many other contexts. Currently Magma contains the calculations for: subcanonical curves, K3 surfaces, Fano 3-folds and Calabi–Yau 3-folds; other cases are in progress. The basic method is to assemble a lot of data that should occur on these varieties, feed it into the Riemann–Roch formula to get a Hilbert series, and then attempting to describe a plausible variety embedded in weighted projective space that has that Hilbert series. The ideas are described in the paper [ABR02], while improved handling of high codimension possibilities using projection/unprojection theorems is described in [Bro02]. Other cases are covered by the papers [BuSz], [SuRe].

Notice that these routines do not describe explicit graded rings: they do not explain how to write the equations, but only say which weighted variables should be used in the equations. (The Hilbert series does include more information, but still much less than would dictate explicit equations, in general.) The process of recovering equations through projections is called 'unprojection', and that is still some way off being implemented as a method in commutative algebra.

These families exhibit large Gorenstein rings with as yet unknown structure. The search for structure theorems for Gorenstein rings occupied much of the 1970s after the Buchsbaum–Eisenbud structure theorem in codimension 3. However no substantial new cases were discovered. These examples, not available in the 1970s, are a major motivation for a renewed assault on this problem.

  • Functions that create subcanonical curves, K3 surfaces, Fano 3-folds and Calabi–Yau 3-folds from data associated to the Riemann–Roch formula in each case

  • A K3 database containing 24,099 candidates for polarised K3 surfaces. There are also smaller databases of Fano 3-folds as a first step in the final classification

  • Functions for interrogating databases, including functions that can add new entries or rewrite existing entries