Generalities

For the convenience of the user, in this section, we recall some basic properties of general magma schemes that will often be required when creating and working with objects of the Srfc subtype.

Contents

Ambients

In magma, it is usually necessary for the user to begin by explicitly creating an underlying ambient space(s) in which the scheme(s) will live. These are fully described in the general Scheme Chapter SCHEMES. The commonest are affine and ordinary projective spaces. There are also weighted and product projective spaces and the much wider range of toric ambients coming from magma's Toric Geometry package. However, although there is a rich selection of combinatorial functionality available for toric varieties, the scheme functionality for general toric ambients is still rather limited compared to the older ambients. Additionally, for surfaces, much of the off-the-shelf functionality currently only applies to those which lie in an ordinary projective ambient (we will often refer to these as ordinary projective surfaces). Unlike other general scheme sub-types, e.g. curves, we have the added restriction that surfaces can only be defined over a field. This is because virtually all of the specialised geometric functionality for surfaces only works over fields. Thus the ambient space must also be defined over a field. The surface is created by specifying the polynomials in the ambient coordinates that define it as a subvariety of the ambient. For an ordinary projective surface, all defining polynomials must be homogeneous. The ambient coordinates can be labelled in the usual way by using diamond brackets. For example, to create the hypersurface with equation x2 + y2 + z2 + t2=0 in 3-dimensional projective space ((P)3) over the rational numbers

> k := Rationals();
> P3<x,y,z,t> := ProjectiveSpace(k,3);
> S := Surface(P3,x^2+y^2+z^2+t^2);
> S;
Surface over Rational Field defined by
x^2 + y^2 + z^2 + t^2
As can be seen in this example, once labelled in the command creating the ambient (P3 here), the labels for the ambient variables (x), (y), ... can be used directly to create polynomials in the coordinate ring of the ambient. Alternatively, we can use P3.1, P3.2 etc., which are synonymous with CoordinateRing(P3).1, ... (or even S.1,.. once the surface has been created) for these variables.

Surfaces

An algebraic surface S in magma --- an object of the Sch subtype Srfc --- is an algebraic variety of dimension 2 defined over a field k . In simple terms, it is the (algebraic) set of points defined by the vanishing of a set of polynomials in an ambient space with some additional restrictions. This algebraic set has to be irreducible, meaning that it can't be decomposed into a union of two such proper algebraic sets. It also has to be reduced, meaning that the ideal generated by the defining polynomials is radical: it contains all of the polynomials that vanish on the set (this is not quite strictly true for projective ambients. The ideal may not be "saturated" and have primary components belonging to the redundant prime ideals of the ambient. See Section Constructing Schemes for more details on saturation). A scheme is called integral if it is both reduced and irreducible. This is because the combination of the two conditions is equivalent to the condition that the coordinate ring of every open affine subscheme is an integral domain. For the projective ambients that magma uses, it is also equivalent to the projective coordinate ring being an integral domain or to the saturated defining ideal being prime. In fact, the condition we require that S is a variety is the stronger condition that S is geometrically integral. This means that when we consider the scheme defined by the same polynomials over the algebraic closure of k, it is still reduced and irreducible. If k is a perfect field, then reduced implies geometrically reduced. However, it is not so easy to test for geometric irreducibility and we currently do not do so, checking only integrality.

Below is a typical example where geometric irreducibility fails. It is a degree 4 hypersurface in affine 3-space that is irreducible over the rational field but splits into the union of two conjugate quadric hypersurfaces (which are geometrically irreducible) over the quadratic field obtained by adjoining the cube roots of unity.

> A<x,y,z> := AffineSpace(Rationals(),3);
> S := Scheme(A,x^4+y^4+z^4-x^2*y^2-x^2*z^2-y^2*z^2);
> S;
Scheme over Rational Field defined by
x^4 - x^2*y^2 - x^2*z^2 + y^4 - y^2*z^2 + z^4
> IsReduced(S);
true
> IsIrreducible(S);
true
> K<a> := QuadraticField(-3);
> A<x,y,z> := AffineSpace(K,3);
> S := Scheme(A,x^4+y^4+z^4-x^2*y^2-x^2*z^2-y^2*z^2);
> IsReduced(S);
true
> IsIrreducible(S);
false
> IrreducibleComponents(S);
[
    Scheme over K defined by
    x^2 + 1/2*(-a - 1)*y^2 + 1/2*(a - 1)*z^2,
    Scheme over K defined by
    x^2 + 1/2*(a - 1)*y^2 + 1/2*(-a - 1)*z^2
]
The main reason for requiring surfaces to be varieties is that much of the surface functionality involves classification and invariant intrinsics that only make sense for varieties. Specialised families like anticanonically-embedded Del Pezzos are all families of varieties.

Singularity

One of the most important attributes of a magma surface is its degree of singularity. Ideally, we would like to be able to work with a surface model that has arbitrary singularities and to be able to deduce information about the projective non-singular surfaces in its birational equivalence class. magma is able to do this for s curves by computing a full projective desingularisation behind the scenes using the function field machinery. Unfortunately, the situation for surfaces is much more complicated and we have limited resources for working with singular models at the moment, though that has now improved considerably with the introduction of code for the desingularisation of surfaces by local blow-up (V2.21). This still has the restriction (currently), however, that the singular locus of the surface model is zero-dimensional: there cannot be curves in the surface S along which S is everywhere singular. There is also an older package for computing formal desingularisations of surfaces in ordinary projective 3-spaces (hypersurfaces) which can handle arbitrary singularities. However, this can be very slow and inefficient and is not suitable for automatic linkage in the background. In addition, if we start with an ordinary projective surface with mild singularities in a higher-dimensional space, projection to a hypersurface can introduce much worse singularities which can be very difficult to resolve (The same is partly true for curves, where construction of the function field implicitly involves a projection. However, the desingularisation process is much more efficient there). For surfaces with curve singularities, in ambients of dimension > 3, it is probably better for the user to try to re-embed them (in a slightly higher-dimensional ambient, possibly) to give a model with only point singularities than to project to P3. Having said that, the blow-up desingularisation seems to work quite well in 3 and 4 dimensional ambients for `nice' surface models but is probably much slower in general in the higher-dimensional ones.

In the curve case, affine models can be used even when calling intrinsics that compute global properties of projective curves. This is because a projective closure can be computed and the singularities at infinity of that resolved (as well as the finite singularities). That additional singularities at infinity of a particular projective closure of an affine surface cannot be automatically resolved is one of the reasons that many of the surface intrinsics that compute global properties of projective surfaces must take a projective surface as the argument.

Many of the general surface intrinsics currently assume either non-singularity or something slightly weaker (only simple/ADE/du Val singularities). Since checking singularity can be a very time-consuming process for surfaces in higher-dimensional ambients (and actually take longer than the main computation), most of the intrinsics that rely on singularity assumptions do not perform the singularity check by default, although there is a parameter that can be set to true to force the check. It is important, though, that the user is familiar with the magma intrinsics to test for different types of global/local singularity so he or she may apply them directly if desired.

There are general scheme intrinsics for testing local/global (non)-singularity in the usual sense of smoothness as well as for a scheme being Gorenstein, Cohen-Macaulay or the arithmetic versions of these. They are described in Section Global Geometry of Schemes and Section Local Geometry of Schemes of the Scheme chapter. There are also intrinsics to test for normality and simple singularities which can be found in the later Section Singularity Properties of this chapter.

Maps and Points

Useful scheme features include the ability to create rational maps between schemes and to create points on the scheme defined over the base field or over an extension field. The user should familiarise himself with the system for points and pointsets described in detail in Section Rational Points and Point Sets and the system for maps in Section Maps between Schemes. Briefly, all maps are rational maps, meaning that they may not be everywhere defined, but should be defined on a Zariski-dense (i.e. not contained in a proper closed subscheme) open subscheme of the domain. They are given by a sequence of the correct length of polynomials or rational functions in the domain variables. This sequence must have the right overall homogeneity to match the ambient gradings if the domain or codomain is not affine. There is a base scheme of the map that is the set of points where the defining polynomials do not give a legitimate point of the codomain (e.g. if all polynomials evaluate to zero and the codomain is in ordinary projective space). This base scheme can be changed by adding alternative defining polynomials that are compatible (in map terms) with the original set and may extend the open subscheme where the map is legitimately defined. There is also an alternative type of map between ordinary projective schemes - a graph map - where the map is defined by its graph as in classical algebraic geometry. A useful intrinsic is Extend which will add sets of alternative equations that cover the maximal possible open set where the map can be defined as a rational map. This can be computationally quite heavy though, and the graph map alternative is often better for this, automatically giving a maximal domain of definition by a single saturation computation. For birational maps, it is also possible to add inverse defining polynomials and there are intrinsics to check for (birational) invertibility and computation of inverse equations.

Points on a scheme can be specified in the natural way, by giving their coordinates with respect to the ambient variables. For projective ambients, equivalent sets of coordinates can represent the same point, the equivalence depending on the gradings. For example, in ordinary projective space, the coordinates are the standard homogeneous coordinates and two sequences of coordinates give the same point if and only if the second sequence is equal to the first multiplied by a non-zero scalar. The image of a point under a map can be computed for any point that does not lie in the base scheme of the map. More generally, the user can get the images and inverse images of subschemes of the domain/codomain. Here is a simple example of a map between two surfaces in projective 3-space, a point and its image under the map.

> P<x,y,z,t> := ProjectiveSpace(Rationals(),3);
> X := Surface(P,x^4+y^4-z^4-t^4);
> Y := Surface(P,x^2+y^2-z^2-t^2);
> f := map<X->Y|[x^2,y^2,z^2,t^2]>;
> IsEmpty(BaseScheme(f)); // is the map defined at all points?
true
> p := X![1,1,-1,-1]; // point on X
> p;
(-1 : -1 : 1 : 1)
> f(p); //image of p under f
(1 : 1 : 1 : 1)

Sheaves and Divisors

The packages for coherent sheaves and divisors contain more advanced functionality that will often be useful for work with surfaces. Some of the intrinsics there are surface specific (intersection numbers, for example) although most apply more generally. Many of the intrinsics for general surfaces to be described later in this chapter also make use of these packages. The user is urged to consult the relevant sections of the documentation for detailed information: the Coherent Sheaves chapter for sheaves and the Section Divisors of the Scheme chapter for divisors.

V2.28, 13 July 2023