This chapter contains Magma geometric functionality for working specifically with algebraic surfaces and specialised subtypes. We hope to greatly expand this area in upcoming years. The general surface type Srfc is for 2-dimensional algebraic varieties over a field (i.e. schemes that are geometrically reduced and irreducible).
The current functionality is largely split between that for surfaces with serious singularities and that for ordinary projective surfaces in arbitrary dimensional ambients that are "almost non-singular". The former relies heavily on the newer desingularisation-by-blowup code (V2.21), which applies to surfaces with a zero-dimensional singular locus, and the older formal desingularisation package of Tobias Beck, which can handle arbitrary singularities but is restricted to surfaces in ordinary projective 3-space of characteristic 0. The latter relies more on Magma's coherent sheaf package. Here, almost non-singular means that only simple (A-D-E) singularities are allowed. These are terminal singularities which don't affect computations involving the pluri-canonical sheaves. It is useful to allow simple singularities as they naturally occur in a number of models (anticanonically-embedded degenerate Del Pezzo surfaces; minimal models for surfaces of general type).
The surface type {Srfc} is a subtype of the scheme type {Sch} so the general functionality for schemes (see Chapter SCHEMES) and coherent sheaves (see Chapter COHERENT SHEAVES) is of course also available.
The first section of the chapter deals with functions for surfaces in general ambients although, as noted above, there are singularity assumptions and the restriction to ordinary projective surfaces for most of the intrinsics. The last subsection, however, covers the resolution of singularities by local blow-ups and the functionality specifically associated with that.
The next section deals with surfaces in Prj3 with no singularity assumptions. Here we give a full description of the formal desingularisation routines and functions which work with either desingularisation method to compute birational invariants of desingularisations, general adjoint linear systems, classification and reduction of rational surfaces to special type and a general parametrization routine.
The final section deals with specific code for Del Pezzo surfaces, the specialised subtype for which we currently have the most functionality. There are parametrization routines over the rationals (or number fields in some cases) for Del Pezzos by degree and constructions for degree 6 Del Pezzos associated to different twisted torus type. There are also minimisation and reduction routines for degree 3 and 4 Del Pezzos and construction, point-counting and computation of invariants for degree 3.