Magma

MAGMA Computational Algebra System

Magma
 •  How to get it
 •  Download
 •  Online Demo
 
Resources
 •  Online Help
 •  Discovering Mathematics with Magma
 •  Citations
 •  How to cite Magma
 •  Links
 •  Contact us
 
[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Classification and Parameterization of Rational Surfaces

This section contains functions for the recognition of rational surfaces, the classification and transformation to standard models using appropriate m-adjunction maps and, finally, special case code for these standard models, to determine a parametrization of the original hypersurface.

Subsections
IsRational(X) : Sch -> BoolElt
    FormalDesing: SeqEnum               Default: 0
Given an integral hypersurface X ⊂PE3 over some number field, returns whether the surface is rational over the algebraic closure /line(E). This simply uses the Castelnuevo criterion that X is rational if and only if both the arithmetic genus and second plurigenus of any desingularization are zero.

The computation uses a formal desingularization of X. To avoid recalculation, a precomputed formal desingularization can be given in the FormalDesing parameter, as for the HomAdjoints intrinsic.

Reduction to Special Models

In this section, we describe the function for the birational transformation over the base field of a rational hypersurface into a special model of one of the types in the standard classification as listed by Josef Schicho in [Sch98]. He enumerates 5 basic cases in [Sch98, p. 17 and Lem. 5.2-5.7] and splits the last case in two, choosing labels "1", "2", "3", "4", "5A" and "5B". The lemmas describing cases 3 and 5A involve a further case distinction. Also a label "0" is useful for the non-rational case. From this, we get the label set

LL := {"0", "1", "2", "3a", "3b", "4", "5Aa", "5Ab", "5Ac", "5B"}

Let F be a homogeneous irreducible polynomial in four variables. In each of the above cases the author specifies a set of adjoint spaces defining interesting maps, either birationally to a special surface or to a rational normal curve (giving a pencil of rational curves on the surface). More precisely, the maps can be computed from Vn, m := ttref(as:homadj)(m, n, F) for certain choices of m and n. Let μto be the smallest integer s.t. V1, μ+ 1 != []. Then the important Vn, m for the different cases are as follows:

vbox{tabskip=0pt offinterlineskip halign {#& vrule#tabskip=1em plus2em& hfil#& vrule#& hfil#hfil& vrule#& hfil#& vrule#& hfil#hfil& vrule#& hfil#& vrule#& hfil#& vrule#tabskip=0pt cr tablerule &&omit hidewidth 0hidewidth&&omit hidewidth 1hidewidth&& omit hidewidth 2hidewidth&&omit hidewidth 3a hidewidth&& omit hidewidth 3b hidewidth&&omit hidewidth 4hidewidth&cr tablerule &&[]&&[V1, μ]&&[V1, μ]&&[V2, 2μ+ 1, V1, μ]&& [V2, 2μ+ 1]&&[V1, μ, V2, 2μ- 1]&cr tablerule}}

vbox{tabskip=0pt offinterlineskip halign {#& vrule#tabskip=1em plus2em& hfil#& vrule#& hfil#hfil& vrule#& hfil#& vrule#& hfil#& vrule#tabskip=0pt cr tablerule &&omit hidewidth 5Aa hidewidth&&omit hidewidth 5Ab hidewidth&& omit hidewidth 5Ac hidewidth&&omit hidewidth 5B hidewidth&cr tablerule &&[V1, μ- 1]&&[V1, μ- 1, V2, 2μ- 2]&& [V1, μ- 1, V2, 2μ- 2, V3, 3μ- 3]&&[V2, 1]&cr tablerule}}

The function to find a parameterization of a rational hypersurface, which uses the reduction function below as a first stage, is described in the next section.

ClassifyProjectiveSurface(p) : RngMPolElt -> MonStgElt, SeqEnum
    FormalDesing: SeqEnum               Default: 0
    SetVerbose("Classify", n):          Maximum: 1
Given an irreducible homogeneous polynomial p in four variables, defining a projective hypersurface S, return the label string in LL identifying the class of the surface and the corresponding sequences Vn, m as described above.

The computation uses a formal desingularization of S. To avoid recalculation, a precomputed formal desingularization can be given in the FormalDesing parameter, as for the HomAdjoints intrinsic.

The algorithm is that of Josef Schicho, given in [Sch98, Sec. 5.2]. The surface is first tested for rationality and then a series of adjoint spaces are computed until the class of S is determined.

For the various cases, the type of special surface is

1.
Cases "1" and "3b": the projective plane P2

2.
Case "2": a quadric surface in P3

3.
Case "3a": a rational scroll (a surface ruled by lines)

4.
Case "4" : a conic bundle (a surface ruled by conics)

5.
Cases "5Aa" and "5B" : a Del Pezzo surface of degree >= 3 (possibly singular)

6.
Case "5Ab" : a Del Pezzo surface of degree 2 (in weighted projective space)

7.
Case "5Ac" : a Del Pezzo surface of degree 1 (in weighted projective space)

In 1,2 and 5, the single adjoint space returned gives the birational map to the special surface.

In 3 and 4, the first adjoint space returned gives the map to a rational normal curve which is the base of the fibration giving the ruling, and the second gives a birational map to its image which takes a general fibre of the ruling to a line (resp. conic).

In 6 and 7, the two (resp. three) adjoint spaces returned combine in a non-trivial way to give the birational map into weighted projective space. Again, see [Sch98, Sec. 5.2], particularly Example 5.1 there.


Example AlgSrf_class (H107E6)

Here are a few examples.

> Q := Rationals();
> P<x,y,z,w> := PolynomialRing(Q, 4);
> p1 := x^4 + y^4 - z^2*w^2;
> p2 := 2*x + y + 8*z + 5*w;
> p3 := x^2 - 4*x*z + 3*x*w + y*z - y*w + 2*z^2 - 3*z*w + w^2;
> p4 := (y^2 - w*z)*(w^2 - y*x) + (x*z - y*w)^2;
> p5 := x^3*y - 4*x^3*z - 6*x^3*w - 3*x^2*y^2 - 2*x^2*y*z
>     - 3*x^2*y*w + 50*x^2*z^2 + 146*x^2*z*w + 108*x^2*w^2
>     - 11*x*y^2*z + 2*x*y^2*w + 61*x*y*z^2 + 149*x*y*z*w
>     + 65*x*y*w^2 + 68*x*z^3 + 228*x*z^2*w + 260*x*z*w^2
>     + 112*x*w^3 + 4*y^4 - 13*y^3*z - 19*y^3*w + 20*y^2*z^2
>     + 77*y^2*z*w + 55*y^2*w^2 + 40*y*z^3 + 106*y*z^2*w
>     + 58*y*z*w^2 - 2*y*w^3 + 22*z^4 + 84*z^3*w + 130*z^2*w^2
>     + 108*z*w^3 + 38*w^4;
> p6 := x^2*y^2 + 8*x^3*y + 4*x^4 + x*y*z^2 - x^2*z^2 - y^2*w^2
>     - 7*x*y*w^2 + 8*x^2*w^2;
> p7 := x^2*w^3 + y^3*w^2 + z^5;
> p8 := w^3*y^2*z + (x*z + w^2)^3;
> ClassifyProjectiveSurface(p1);
0 []
> ClassifyProjectiveSurface(p2);
1 [
    [ y, z, w ]
]
> ClassifyProjectiveSurface(p3);
2 [
    [ x, y, z, w ]
]
> ClassifyProjectiveSurface(p4);
3a [
    [ x*y - w^2, y^2 - z*w, x*z - y*w ]
    [ x, y, z, w ]
]
> ClassifyProjectiveSurface(p5);
3b [
    [ x^2 - 1114/45*x*z - 1543/45*x*w - 232/15*y*z - 319/15*y*w
      - 241/15*z^2 - 1327/45*z*w - 457/45*w^2,
      x*y - 182/45*x*z - 284/45*x*w - 11/15*y*z - 17/15*y*w
      - 38/15*z^2 - 266/45*z*w - 146/45*w^2,
      -16/45*x*z - 22/45*x*w + y^2 - 28/15*y*z - 61/15*y*w
      - 4/15*z^2 + 32/45*z*w + 92/45*w^2 ]
]
> ClassifyProjectiveSurface(p6);
4 [
    [ x, y ],
    [ x^2, x*y, y^2, x*z, y*z, x*w, y*w ]
]
> ClassifyProjectiveSurface(p7);
5Ac [
    [ z*w^2, w^3 ],
    [ z^2*w^4, y*w^5, z*w^5, w^6 ],
    [ z^3*w^6, y*z*w^7, z^2*w^7, x*w^8, y*w^8, z*w^8, w^9 ]
]
> ClassifyProjectiveSurface(p8);
5B [
    [ x^2*z^2 - w^4, x^2*z*w + x*w^3, x*y*z*w, x*z^2*w + z*w^3,
      x*z*w^2 + w^4, y*z*w^2, y*w^3 ]
]

Parametrization of Rational Surfaces

The package also includes functions to directly parametrize rational surfaces (over Q). These use the reduction to special type, described in the last section, followed by specialised algorithms for the special cases, which are described in the following sections and the section on Del Pezzo surfaces in the Schemes chapter. There is a version for hypersurfaces in P3 and one for more general rational surfaces which are first birationally projected to a hypersurface.

ParametrizeProjectiveHypersurface(X, P2) : Sch, Sch -> BoolElt, MapSch
ParametrizeProjectiveSurface(X, P2) : Sch, Sch -> BoolElt, MapSch
    SetVerbose("Classify", n):          Maximum: 1
Given an integral (ie reduced and irreducible) surface X ⊂PQn for some n ≥2 and a projective plane P2 over Q, returns false if the surface is not rational over Q, otherwise return true and a birational parametrization P2 -> X.

For efficiency, X is not checked for integrality.

The function finds a birational projection to a hypersurface in P3 and then calls the preceding function. Note that a runtime error may result from that function.

It should be noted that the birational projection may produce a very singular hypersurface defined by a polynomial with large coefficients. Then, the desingularisation, classification and special parameterization routines may all be very slow. For non-singular surfaces in higher dimensional ambient projective spaces, we intend to introduce new functionality that will allow the alternative method of computing adjunction maps directly without projecting to a hypersurface.


Example AlgSrf_prm (H107E7)

We try to parameterize the hypersurfaces given by polynomials p1 - p8 from the last example.

> P2<X,Y,W> := ProjectiveSpace(Q, 2);
> P3 := ProjectiveSpace(P);
> ParametrizeProjectiveHypersurface(Scheme(P3, p1), P2);
false
> ParametrizeProjectiveHypersurface(Scheme(P3, p2), P2);
true Mapping from: Prj: P2 to Scheme over Rational Field
defined by 2*x + y + 8*z + 5*w
with equations : -1/2*X - 4*Y - 5/2*W
X
Y
W
> ParametrizeProjectiveHypersurface(Scheme(P3, p3), P2);
true Mapping from: Prj: P2 to Scheme over Rational Field
defined by x^2 - 4*x*z + 3*x*w + y*z - y*w + 2*z^2 - 3*z*w + w^2
with equations : X^2 - 2*X*W
X^2 + X*Y - 4*X*W - Y*W + 2*W^2
X^2 - 3*X*W + Y*W
X^2 - 4*X*W + Y*W + 2*W^2
> ParametrizeProjectiveHypersurface(Scheme(P3, p4), P2);
true Mapping from: Prj: P2 to Scheme over Rational Field
defined by x^2*z^2 - x*y^3 - x*y*z*w + 2*y^2*w^2 - z*w^3
with equations : 2*X^2*Y^2*W^2 - Y*W^5
X^4*Y^2 - X^2*Y*W^3
X^3*Y*W^2
X^3*Y^2*W
> ParametrizeProjectiveHypersurface(Scheme(P3, p5), P2);
true Mapping from: Prj: P2 to Scheme over Rational Field
defined by ...
with equations : -1/4*X^2 + 9/2*X*Y + 1/2*X*W - 69/4*Y^2 - 87/8*Y*W + 1/2*W^2
1/2*X*Y + 11/4*X*W - 5/8*Y^2 - 131/8*Y*W - 63/8*W^2
-11/8*X*Y + 7/8*X*W + 13/4*Y^2 - 11/2*W^2
X*Y - 1/8*X*W - 23/8*Y^2 + 4*W^2
> ParametrizeProjectiveHypersurface(Scheme(P3, p6), P2);
true Mapping from: Prj: P2 to Scheme over Rational Field
defined by 4*x^4 + 8*x^3*y + x^2*y^2 - x^2*z^2 + 8*x^2*w^2
            + x*y*z^2 - 7*x*y*w^2 - y^2*w^2
with equations : -3/8*X^2*Y^2*W - 2*X^2*Y*W^2 - 8/3*X^2*W^3 - 59/24*X*Y^2*W^2
    - 38/3*X*Y*W^3 - 16*X*W^4 + 17/6*Y^2*W^3 + 44/3*Y*W^4
    + 56/3*W^5
-3/8*X^3*Y^2 - 2*X^3*Y*W - 8/3*X^3*W^2 - 59/24*X^2*Y^2*W
    - 38/3*X^2*Y*W^2 - 16*X^2*W^3 + 17/6*X*Y^2*W^2
    + 44/3*X*Y*W^3 + 56/3*X*W^4
-1/8*X^2*Y^2*W - 4/3*X^2*Y*W^2 - 8/3*X^2*W^3 - 1/12*X*Y^2*W^2
    - 16/3*X*Y*W^3 - 40/3*X*W^4 + 19/3*Y^2*W^3 + 104/3*Y*W^4
    + 48*W^5
-3/8*X^2*Y^2*W - 2*X^2*Y*W^2 - 8/3*X^2*W^3 - 8/3*X*Y^2*W^2
    - 14*X*Y*W^3 - 56/3*X*W^4 + Y^2*W^3 + 20/3*Y*W^4 + 32/3*W^5
> ParametrizeProjectiveHypersurface(Scheme(P3, p7), P2);
Runtime error in 'ParametrizeDelPezzoDeg5': Parametrization of
degree 5 Del Pezzos is not yet implemented!
> ParametrizeProjectiveHypersurface(Scheme(P3, p8), P2);
true Mapping from: Prj: P2 to Scheme over Rational Field defined by
x^3*z^3 + 3*x^2*z^2*w^2 + 3*x*z*w^4 + y^2*z*w^3 + w^6
with equations : 2*X^20*Y^3*W - 4*X^19*Y^3*W^2 + 4*X^17*Y^3*W^4 - 2*X^16*Y^3*W^5
4*X^19*Y^4*W - 8*X^18*Y^4*W^2 + 4*X^17*Y^4*W^3
1/2*X^16*Y^7*W - X^15*Y^7*W^2 + 1/2*X^14*Y^7*W^3
-X^18*Y^5*W + 3*X^17*Y^5*W^2 - 3*X^16*Y^5*W^3 + X^15*Y^5*W^4
> IsRational(Scheme(P3, p7));
true

As the above example shows, code to handle the specific case of degree 5 Del Pezzo surfaces has not yet been added. This should be rectified soon.

Here are two easy examples of parameterizing non-hypersurfaces, the second being particularly easy (P2 itself!)

> P4<u,v,w,x,y> := ProjectiveSpace(Q, 4);
> P2<X,Y,Z> := ProjectiveSpace(Q, 2);
> S := Scheme(P4,[u^2 + v^2 + w^2 - x^2, y - x]);
> ParametrizeProjectiveSurface(S, P2);
true Mapping from: Prj: P2 to Sch: S
with equations : 2*X*Z
-X^2 - Y^2 + Z^2
2*Y*Z
X^2 + Y^2 + Z^2
X^2 + Y^2 + Z^2
> ParametrizeProjectiveSurface(P2, P2);
true Mapping from: Prj: P2 to Prj: P2
with equations : X
Y
Z

Solve(p, F) : RngMPolElt, FldFunRat -> SeqEnum

For convenience, there is also this purely algebraic version for birational parameterization of an affine hypersurface.

Given a polynomial p ∈Q[x, y, z], the equation of a (not necessarily irreducible affine hypersurface S) and a two-variable rational function field F = Q(u, v), the function finds birational parameterizations of the irreducible components of S (that are parametrizable over Q).

A sequence of triples (X, Y, Z) ∈F3 is returned s.t. p(X, Y, Z) = 0 and each triple gives an isomorphism of F to the function field of a component of S.

The routine may again result in a runtime error if it involves parameterizations of special surface types that are not yet implemented, as for the preceding functions.


Example AlgSrf_prm2 (H107E8)

The following affine hypersurface has three irreducible factors: one not rational and the other two, rational and parameterizable over Q

> Q := RationalField();
> P<x,y,z> := PolynomialRing(Q, 3);
> F<s,t> := RationalFunctionField(Q, 2);
> p := (x^4+y^4-z^2)*(2*x + y + 8*z + 5)
>       *(x^2 - 4*x*z + 3*x + y*z - y + 2*z^2 - 3*z + 1);
> Solve(p, F);
[
    [ -1/2*s - 4*t - 5/2, s, t ],
    [
        (s^2 - 2*s)/(s^2 - 4*s + t + 2),
        (s^2 + s*t - 4*s - t + 2)/(s^2 - 4*s + t + 2),
        (s^2 - 3*s + t)/(s^2 - 4*s + t + 2)
    ]
]

Parametrization of Special Surfaces

In this section we describe the routines for the explicit parameterization of the special classes of rational surfaces that arise from the reduction of the general case via m-adjoint maps. The algorithms are the work of Josef Schicho, in collaboration with others in some cases. The functions are used in the general parameterization routines but can also be called directly by the user.

ParametrizeQuadric(X,P2) : Sch, Sch -> BoolElt, MapSch
X ⊂PQ3 is a geometrically irreducible quadric (degree 2) projective hypersurface and P2 a projective plane. Returns false if X is not parametrizable over the rationals, otherwise return true and a birational parameterization P2 -> X.

This is a simple, well-known algorithm (see [Sch98, Sec. 3.1]), given a rational point p on X. Finding p is equivalent to finding a non-trivial isotropic vector on F, the quadric form in four variables defining X. This is achieved by a reduction to the solution of 2 quadrics in 3 variables, which is performed using standard lattice methods. Note that it is assumed that the quadric is defined over Q in the solubility routines here.


Example AlgSrf_solve_quad (H107E9)

We give a few simple examples.

> Q := Rationals();
> P2<X,Y,W> := ProjectiveSpace(Q, 2);
> P3<x,y,z,w> := ProjectiveSpace(Q, 3);
> X1 := Scheme(P3, x^2 + y^2 + z^2 + w^2);
> X2 := Scheme(P3, x^2 + y^2 + z^2 - w^2);
> X3 := Scheme(P3, x^2 + y^2 + z^2);
> X4 := Scheme(P3, x^2 + y^2 - z^2);
> X5 := Scheme(P3, x^2 - 4*x*z + 3*x*w + y*z - y*w + 2*z^2
>                   - 3*z*w + w^2);
> ParametrizeQuadric(X1, P2);
false
> ParametrizeQuadric(X2, P2);
true Mapping from: Prj: P2 to Sch: X2
with equations : 2*X*W
2*Y*W
-X^2 - Y^2 + W^2
X^2 + Y^2 + W^2
> ParametrizeQuadric(X3, P2);
false
> ParametrizeQuadric(X4, P2);
true Mapping from: Prj: P2 to Sch: X4
with equations : X*Y
-1/2*X^2 + 1/2*Y^2
1/2*X^2 + 1/2*Y^2
Y*W
> ParametrizeQuadric(X5, P2);
true Mapping from: Prj: P2 to Sch: X5
with equations : X^2 - 2*X*W
X^2 + X*Y - 4*X*W - Y*W + 2*W^2
X^2 - 3*X*W + Y*W
X^2 - 4*X*W + Y*W + 2*W^2

ParametrizePencil(phi, P2) : MapSch, Sch -> BoolElt, MapSch
X is a ruled surface, given as the domain of a rational pencil phi defined over Q (i.e., a rational map X -> PQn for some n with image a rational normal curve) and P2 is a projective plane over Q. Returns false if X is not parameterizable over the rationals. Otherwise returns true and a birational parameterization P2 -> X.

This takes care of classes "3a" and "4" in the classification of special surfaces.The algorithm is described in [Sch00].


Example AlgSrf_ruled_ex (H107E10)

The following is an example with X a (singular) degree 4 hypersurface.

> Q := Rationals();
> P3<x,y,z,w> := ProjectiveSpace(Q, 3);
> P2<X,Y,Z> := ProjectiveSpace(Q, 2);
> X := Scheme(P3, x^2*z^2 - x*y^3 - x*y*z*w + 2*y^2*w^2 - z*w^3);
> pencil := map<X -> P2 | [x*y - w^2, y^2 - z*w, x*z - y*w]>;
> DefiningPolynomial(Image(pencil));
X*Y - Z^2
> ParametrizePencil(pencil, P2);
true Mapping from: Prj: P2 to Sch: X
with equations : -X^4*Y + 2*X^2*Z^3
-X^2*Y*Z^2 + Z^5
X*Y*Z^3
X*Z^4

ParametrizeDelPezzo(X, P2) : Sch, Sch -> BoolElt, MapSch
This is the main interface to a suite of functions parameterizing Del Pezzo surfaces (over Q). These include the anticanonically Del Pezzos of degrees 1 and 2, which lie in non-trivially weighted projective spaces. A degree d Del Pezzo surface refers to a rational surface that is embedded in projective space by its anti-canonical divisor. For degrees 1 and 2 this means an ample embedding into weighted projective space. For 3 <= d <= 9, this is a very-ample embedding giving X as a degree d surface in ordinary projective space of dimension d.

X should be a (anticanonically-embedded) Del Pezzo surface and P2 a projective plane both defined over Q. The function returns false if X is not parametrizable over the rationals and returns true and a birational parameterization P2 -> X otherwise.

It should be noted that the routines do not just handle the usual non-singular cases, but also degenerate singular cases (arising in degrees d >= 3 when, rather than blowing up 9 - d distinct points in the plane, some of the blown-up points are "infinitely near" points: lying on the exceptional curves corresponding to already blown-up points). This is important as these degenerate cases can arise in the general parameterization of hypersurfaces in P3.

The package contains routines to find and blow down sets (defined over Q) of exceptional curves, reducing to a DelPezzo of degree d, 5 <= d <= 9. After this reduction, these cases are handled by the Magma routines described in Section Parametrization of Del Pezzo Surfaces (which now also handle singular Del Pezzos).

The routines are not all fully documented. For the location of exceptional curves and the blowing-down, there are some details in [Sch98, Sec. 3.5] and [Man86] contains the general theory. There are also implementational notes in the appendix of the software documentation report [Bec08] from which this documentation has been adapted. For the nonsingular degrees 6,8 and 9 cases, which use the Lie algebra method of Schicho, see the references in Section Parametrization of Del Pezzo Surfaces.

 [Next][Prev] [Right] [Left] [Up] [Index] [Root]
                       

Version: V2.16 of Mon Nov 16 15:04:45 EST 2009

Valid HTML 4.01! Valid CSS!