|
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
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
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.
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.
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.
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 ]
]
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.
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.
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
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.
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)
]
]
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.
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.
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
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].
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
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]
|