Degree \(2\) K3 Surfaces#
Introduction#
We refer to K3 surfaces that can be represented as the desingularisation of a double cover of the projective plane \({\bf P}^2\) ramified over a sextic curve as degree \(2\) K3 surfaces. This condition on K3 surfaces is equivalent to the existence of an irreducible divisor of self-intersection \(2\). The divisor map of such a divisor is the required double cover of \({\bf P}^2\). Conversely, the pullback of a general line in a double-cover presentation gives an irreducible divisor of self-intersection \(2\).
If we take a (normal) double cover of the plane ramified over a reduced sextic (degree 6) curve, the desingularisation gives a K3 surface if and only if the curve has at worst simple curve singularities (s-c-s). If the singularities are worse, the resulting double-cover surface has Kodaira dimension \(-1\). Given the s-c-s condition, the normal double cover ramified over the sextic has simple singularities precisely over the singularities of the sextic (so is already non-singular if the sextic is). For more information on this and more general surface double covers, see Ch. III, Section 7 and Ch. V, Section 22 of [Barth et al., 2004].
This section describes functionality to work with degree \(2\) K3 surfaces given by the (generally singular) normal double-cover model naturally embedded in a weighted \({\bf P}(1,1,1,3)\) space (see the basic constructor below). Singularities and the set of (-2)-curves lying over them are handled by blow-up desingularisation. The only restriction on the base-field is that the characteristic cannot be equal to \(2\).
The current functionality mainly deals with computation of (-2)-curves coming from lines and conics that split in the double cover (along with those above singular points), the intersection matrix of a given finite collection of curves and blow-up divisors on the surface, and elliptic fibrations of the surface related to appropriate (-2)-curve configurations. We hope to expand this functionality in a number of directions in future releases.
Creation Functions#
Currently, there is no special surface subtype for degree \(2\) K3 surfaces, but we construct them in a standard form (in weighted \({\bf P}(1,1,1,3)\) ambients) which the intrinsics in this section work with. The main constructor below takes a homogeneous degree 6 polynomial \(f\) in \(3\) variables, checks that it gives a reduced plane curve with only simple curve singularities, and returns this standard form for the K3 surface which is the double cover of the plane ramified over \(f\). The singular subscheme of the surface is also filled in.
Note that later intrinsics assume that singularity properties of the surface argument have been computed and cached, so this constructor should always be used to create degree 2 K3 surfaces. The SingularSubscheme intrinsic currently doesn’t work directly for these surfaces because of the weighted ambient.
- DegreeTwoK3Surface(f): RngMPolElt -> Srfc#
The argument \(f\) should be a homogeneous degree 6 polynomial in a \(3\)-variable homogeneous polynomial ring over a field of characteristic \(\ne 2\). Returns the surface \(S\), which is a (generally singular) model of the K3 surface that is a double cover of the projective plane ramified over the \(f=0\) curve \(C_f\).
\(C_f\) should be a reduced curve with at worst simple curve singularities. This is checked, with an error resulting if the conditions are not satisfied. Simple curve singularities are double and triple points analytically equivalent to particular forms as listed in Thm. 8.1 of Chapter II, [Barth et al., 2004]. They lie in the usual A-D-E families and a curve singularity of a certain type on \(C_f\) gives a simple surface singularity of the same type on \(S\) (e.g. \(A_2 \rightarrow A_2\)) lying over it. Note that \(C_f\) does not have to be irreducible. If, for example, it has two components meeting transversely at a point, that point is a simple \(A_1\) singularity of \(C_f\) (node). Nodes are \(A_1\) singularities and simple cusps \(A_2\) singularities on a curve.
If \(f\) is defined over the base field \(k\) then \(S\) will be a hypersurface in a weighted projective space with variables \(x,y,z,w\) which have weights \(1,1,1,3\) respectively. The defining polynomial will be \(f(x,y,z)-w^2\). \(S\) is a normal variety giving the normal double cover of the plane with ramification locus \(C_f\). As mentioned above, this will have simple singularities over singularities of \(C_f\) and the actual K3 surface is the desingularisation of \(S\).
The intrinsic also computes and caches the singular subscheme of \(S\), if it is singular, or caches that it is non-singular otherwise, before it is returned.
Strictly speaking, the double cover of the plane ramified over \(C_f\) is really only defined as a variety over \(k\) up to quadratic twist for a non algebraically-closed base field \(k\). The particular twist constructed is determined by \(f\) in choosing the defining polynomial \(f-w^2\).
- Example: Srfc Deg2K3 Constr (ex-25b20a)#
We construct the Drell-Yan K3 surface, which is related to certain Feynmann integrals arising in high-energy physics (see [Besier et al., n.d.]). The ramification locus for this interesting surface has many singularities which give rise to \(14\) blow-up (-2)-curves via desingularisation. We will use this example again later to illustrate the various intrinsics.
> R<a,b,c> := PolynomialRing(Rationals(),3); > f := 4*a*b^2*c*(a+c)^2+(a*(b+c)^2+b*(a+c)^2)*(a*(-b+c)^2+b*(c-a)^2); > S := DegreeTwoK3Surface(f); > S; Ambient(S); Surface over Rational Field defined by x^4*y^2 + 2*x^3*y^3 + x^2*y^4 + 4*x^3*y^2*z + 2*x^3*y*z^2 - 4*x^2*y^2*z^2 + 2*x*y^3*z^2 + 4*x*y^2*z^3 + x^2*z^4 + 2*x*y*z^4 + y^2*z^4 - w^2 Projective Space of dimension 3 over Rational Field Variables: x, y, z, w The grading is: 1, 1, 1, 3 > MinimalBasis(SingularSubscheme(S)); [ x*y + x*z, w, y^2*z + y*z^2, x^2*z + y*z^2 ] > HasOnlySimpleSingularities(S : ReturnList := true); true [* <(-1 : -1 : 1 : 0), "A", 1>, <(1 : -1 : 1 : 0), "A", 3>, <(0 : 0 : 1 : 0), "A", 2>, <(0 : 1 : 0 : 0), "A", 4>, <(1 : 0 : 0 : 0), "A", 4> *]
Split Divisors and Intersection Matrices#
One of the main aims of the analysis of a K3 surface \(S\) is to compute its Neron-Severi group \(NS(S)\), its divisor group up to algebraic equivalence. For a K3, this is a finitely-generated, torsion-free abelian group of rank \(\le 20\) (for \(S\) in characteristic \(0\)) and algebraic equivalence is the same as rational equivalence or numerical equivalence so \(NS(S)=Pic(S)=Num(S)\).
In many cases, \(NS(S)\) is generated by (-2)-curves. Apart from the irreducible blow-up divisors over singular points, one way to find (-2)-curves on a degree \(2\) K3 surface is as the components of the pullbacks of lines and conics in the plane which split in the double covering. This idea was first exploited by Elsenhans and Jahnel and formulated into an algorithm by Dino Festi ([Festi, n.d.]).
We provide an intrinsic to compute the split lines and also some prototype intrinsics to compute split conics. We hope to add efficient intrinsics to properly compute the split conics for characteristic \(0\) degree \(2\) K3 surfaces in subsequent releases. As it stands, we provide an intrinsic to compute split conics when \(S\) is defined over a (small) finite field. When applied to reductions mod \(p\) for several \(p\), this often provides split conics that can be lifted to \({\bf Q}\) (see the example). There is also an intrinsic to check whether a given conic splits or not.
It should be stated that these intrinsics tend to find split curves in the high-rank cases (\(rk(NS(S))\) is close to \(20\)) but often return nothing for lower-rank cases, where constructing non-trivial divisor classes is still a hard problem.
These split divisor intrinsics were adapted from code kindly provided by D. Festi.
We also provide an intrinsic that computes the full intersection matrix of the set consisting of the strict transforms of a given collection of effective divisors on \(S\) and the irreducible blow-up divisors over singularities of the ramification sextic. This, together with the intrinsics to find split curve divisors, allows the partial, or in some cases complete, computation of \(NS(S)\).
- TriTangentLines(S): Srfc -> List#
- TriTangentLines(F): RngMPolElt -> List#
This computes and returns a list of the full set of lines in the plane that split in the degree 2 K3 surface \(S\). Since this condition is equivalent to the line meeting the ramification sextic with even multiplicity at each intersection point, we refer to these as tri-tangent lines. Some may be defined over a finite extension of the base field \(k\) of \(S\), in which case only one of the set of Galois-conjugate lines is returned.
There are two versions, one taking the surface \(S\) as argument and the other taking the degree \(6\) ramification polynomial \(F\), which should lie in a \(3\)-variable polynomial ring. In the first case, the lines are returned as linear forms in the first 3 variables of the coordinate ring of the ambient of \(S\), \(R\), and lie in a base change of \(R\) to the field of definition of the line. In the second case, the return values are linear forms in a base change of the parent polynomial ring of \(F\).
- SixTangentConicsModp(F): RngMPolElt -> SeqEnum[RngMPolElt]#
This computes the full set of conics that split in a degree 2 K3 surface \(S\) defined over a finite field \(k\). Since it is largely intended for usage on the mod \(p\) reduction of surfaces defined over \({\bf Q}\) (or a finite extension of \({\bf Q}\)), we have included “Modp” in the name and only include a version where the argument is a degree 6 homogeneous polynomial \(F\) in 3 variables defining the ramification locus of \(S\) as a double cover of the plane. As above, the conics that split are precisely those that intersect this sextic ramification curve with even multiplicity at each intersection point, so we refer to them as six-tangent conics.
As opposed to
TriTangentLines, this only computes split conics which are defined over \(k\) and not over finite extensions. It uses an iteration through all possible conics, so overall speed of execution decreases very quickly with the size of \(k\). Thus, it should only be used over quite small finite fields.Note that a quadratic factor of \(F\) is not counted as a six tangent conic by this intrinsic, even though it ramifies in the double cover to give a (-2)-curve on \(S\).
The return value is a sequence of homogeneous degree 2 polynomials in the parent polynomial ring of \(F\).
- SixTangentConicCheck(S, C): Srfc, RngMPolElt -> BoolElt#
- SixTangentConicCheck(F, C): RngMPolElt, RngMPolElt -> BoolElt#
Returns whether a plane conic splits in the degree 2 surface \(S\) or not. There are two versions, one taking the surface \(S\) as its first argument and the second taking the homogeneous degree \(6\) ramification polynomial \(F\), which should lie in a \(3\)-variable polynomial ring which MUST have the grevlex ordering.
In either case the second argument is a homogeneous degree \(2\) polynomial \(C\) giving the conic equation. In the first case, it should be a polynomial in the first \(3\) variables of the coordinate ring of the ambient of \(S\). In the second, it should lie in the same polynomial ring as \(F\).
- IntersectionMatrixOnDegree2K3(S, Ds): Srfc, SeqEnum[Sch] -> Mtrx#
IncludeExCurves: BoolElt Default: true
Argument \(S\) should be a degree 2 K3 surface in standard form and argument \(Ds\) a sequence of effective divisors given as subschemes of \(S\). No two of \(Ds\) should have an irreducible component in common. This is not checked, nor is whether the \(D \in Ds\) actually form divisors (i.e. have a pure codimension \(1\) primary decomposition). The expected case is that the divisors are all distinct and irreducible, in which case there is no problem.
Let
seqbe the sequence of divisors given by appending any irreducible blow-up curves (“exceptional” curves) to the sequence of strict transforms on the desingularised surface of the divisors in \(Ds\). The order in which they are appended is \(s_1\ cat\ s_2\ cat \ldots s_n\), where \(s_i\) is the sequence of exceptional divisors for the \(i\)-th desingularisation data object \(dsds[i]\) of the desingularisation data list \(dsds\) returned byResolveSingularSurface. The order of blow-up divisors in \(s_i\) is the order in which they are indexed in \(dsds[i]\).The intrinsic returns the \(\#\)
seq-by-\(\#\)seqintersection matrix for the divisors inseqon the K3 surface.To get the intersection matrix of the strict transforms without the appended exceptional curves, the
IncludeExCurvesparameter can be set tofalse(the default istrue).
- Example: Deg2K3 Int Pairings (ex-54e6f4)#
We construct (-2)-curves on the Drell-Yan surface \(S\) via split lines and conics and compute the rank of the subgroup of \(NS(S)\) that they generate together with the 14 exceptional curves by using the intersection matrix intrinsic.
> R<a,b,c> := PolynomialRing(Rationals(),3); > f := 4*a*b^2*c*(a+c)^2+(a*(b+c)^2+b*(a+c)^2)*(a*(-b+c)^2+b*(c-a)^2); > S := DegreeTwoK3Surface(f); > lins := TriTangentLines(S); > lins; [* x - z, x, y + z, y, y + alpha1*z, z *]
Find which lines are defined over \({\bf Q}\).
> [IsIdentical(Parent(l),CoordinateRing(Ambient(S))) : l in lins]; [ true, true, true, true, false, true ] > BaseRing(Parent(lins[5])); Number Field with defining polynomial u^2 - 3*u + 1 over the Rational Field
The fifth line gives two conjugate split lines defined over a quadratic extension of \({\bf Q}\) (\({\bf Q}(\sqrt{5})\)) and the others are defined over \({\bf Q}\). We ignore the fifth one here, to avoid base extension, and get the (-2)-curves over \({\bf Q}\) defined by the others.
> spl := [PrimeComponents(Scheme(S,lins[i])) : i in [1,2,3,4,6]]; > assert &and[#ps eq 2 : ps in spl]; > Ls := [s[1] : s in spl]; > Lsd := [s[2] : s in spl]; > Ls; [ Scheme over Rational Field defined by y^2*z + 2*y*z^2 + z^3 + w, x - z, Scheme over Rational Field defined by y*z^2 + w, x, Scheme over Rational Field defined by x^2*z - z^3 + w, y + z, Scheme over Rational Field defined by x*z^2 + w, y, Scheme over Rational Field defined by x^2*y + x*y^2 + w, z ] > Lsd; [ Scheme over Rational Field defined by y^2*z + 2*y*z^2 + z^3 - w, x - z, Scheme over Rational Field defined by y*z^2 - w, x, Scheme over Rational Field defined by x^2*z - z^3 - w, y + z, Scheme over Rational Field defined by x*z^2 - w, y, Scheme over Rational Field defined by x^2*y + x*y^2 - w, z ]
Now we see if we can find any split conics by searching mod 5 and mod 7.
> Rp<a,b,c> := PolynomialRing(GF(5),3,"grevlex"); > SixTangentConicsModp(Rp!f); [ a^2 + a*b + b^2 + a*c + 2*b*c, a^2 + 2*a*b + 2*a*c + c^2, 4*a^2 + 4*a*b + b^2 + 2*a*c + 3*b*c, a^2 + b*c, a^2 + 2*a*b + 2*a*c + b*c ] > Rp<a,b,c> := PolynomialRing(GF(7),3,"grevlex"); > SixTangentConicsModp(Rp!f); [ a^2 + a*b + b^2 + a*c + 2*b*c, a^2 + b*c ]
We suspect that the two mod \(7\) split conics may be split conics over \({\bf Q}\) with the natural lifted equations, since they both occur as mod \(5\) split conics. This is indeed true, as we now check.
> x,y,z,w := Explode([Ambient(S).i : i in [1..4]]); > Cs := [x^2+y*z, x^2+x*y+y^2+x*z+2*y*z]; > [SixTangentConicCheck(S,C) : C in Cs]; [ true, true ] > splC := [PrimeComponents(Scheme(S,C)) : C in Cs]; > assert &and[#ps eq 2 : ps in splC]; > LsC := [s[1] : s in splC]; > LsCd := [s[2] : s in splC]; > [MinimalBasis(Z) : Z in LsC]; [ [ x^2 + y*z, x*y^2 - y^2*z - x*z^2 - y*z^2 - w ], [ x^2 + x*y + y^2 + x*z + 2*y*z, y^3 + x*y*z + 4*y^2*z + x*z^2 + 3*y*z^2 + w ] ] > [MinimalBasis(Z) : Z in LsCd]; [ [ x^2 + y*z, x*y^2 - y^2*z - x*z^2 - y*z^2 + w ], [ x^2 + x*y + y^2 + x*z + 2*y*z, y^3 + x*y*z + 4*y^2*z + x*z^2 + 3*y*z^2 - w ] ]
We now get the intersection matrix for the \(28 = 10+4+14\) (-2)-curves consisting of the split line and conic divisors and the \(14\) blow-up curves, all of which are defined over \({\bf Q}\).
> Ls cat:= LsC; > Lsd cat:= LsCd; > imat := IntersectionMatrixOnDegree2K3(S, Ls cat Lsd); > imat; [ -2 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 ] [ 0 -2 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 ] [ 0 1 -2 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 ] [ 1 0 0 -2 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ] [ 0 0 0 0 -2 0 0 0 0 0 0 1 1 2 0 0 0 0 0 0 1 0 0 0 1 0 0 0 ] [ 0 0 0 1 0 -2 0 0 0 0 0 1 2 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 ] [ 1 0 0 1 0 0 -2 0 1 0 0 2 1 3 1 1 0 0 0 1 0 0 0 0 0 0 0 0 ] [ 0 0 0 0 0 0 0 -2 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ] [ 0 0 0 0 0 0 1 0 -2 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 ] [ 0 0 0 0 0 0 0 0 1 -2 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 ] [ 0 0 0 0 0 0 0 1 0 0 -2 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 ] [ 0 0 0 0 1 1 2 0 0 0 0 -2 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 ] [ 0 0 0 0 1 2 1 0 0 0 1 0 -2 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 ] [ 0 1 0 0 2 1 3 1 0 0 1 0 0 -2 1 0 1 0 1 0 0 0 0 0 0 0 0 0 ] [ 0 0 1 0 0 1 1 0 0 1 0 0 1 1 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 ] [ 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 -2 0 1 0 0 0 0 0 0 0 0 0 0 ] [ 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 -2 1 0 0 0 0 0 0 0 0 0 0 ] [ 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 -2 0 0 0 0 0 0 0 0 0 0 ] [ 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 -2 1 0 0 0 0 0 0 0 0 ] [ 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 -2 0 0 0 0 0 0 0 0 ] [ 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 -2 0 1 0 0 0 0 0 ] [ 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 -2 0 1 0 0 0 0 ] [ 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 -2 1 0 0 0 0 ] [ 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 -2 0 0 0 0 ] [ 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 0 1 0 ] [ 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 0 1 ] [ 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 -2 1 ] [ 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 -2 ] > Rank(imat); 18
This shows that the \(28\) curves generate a subgroup of \(NS(S)\) of rank \(18\). In fact, [Besier et al., n.d.] shows that the rank of the subgroup of \(NS(S)\) defined over \({\bf Q}\) is \(18\), that its full rank (over \(\bar{{\bf Q}}\)) is \(19\) and that the full NS(S) is generated by the above (-2)-curves along with the divisors of the split line defined over \({\bf Q}(\sqrt{5})\) and those of a split conic also defined over \({\bf Q}(\sqrt{5})\). The above curves probably do generate the full subgroup defined over \({\bf Q}\) but I haven’t checked this.
Elliptic Fibrations#
Elliptic fibrations of K3 surfaces are everywhere defined maps from the surface to \({\bf P}^1\) such that the general fibre is an irreducible, non-singular genus \(1\) curve. Sometimes these are referred to as genus \(1\) fibrations with the elliptic fibration terminology reserved for the stronger condition that there also exists a section of the fibre map \(\Leftrightarrow\) the generic genus \(1\) fibre has a point rational over its base-field. However, we do not distinguish here. When there is a section, uniformly providing a \(O\)-point on all fibres, the K3 surface with its fibre map actually gives the minimal (curve) model over \({\bf P}^1\) of the generic elliptic curve fibre.
Such fibrations are very useful in analysing arithmetic and geometric properties of a K3 surface \(S\) and finding multiple inequivalent fibrations can also be important, providing different decompositions of finite index sublattices of the Neron-Severi lattice and leading to automorphisms of \(S\) with interesting properties.
We use a method to compute elliptic fibrations based upon having many (-2)-curves on the surface at our disposal and finding configurations of these that give bad fibres of an elliptic fibration. This idea has appeared (in a more theoretical setting) previously in the works of Shioda. It was discovered independently as a computational tool by Michael Harrison.
We refer to the configurations of (-2)-curves that give elliptic fibrations as Kodaira configurations. These are sets of (-2)-curves that intersect in the right way to give a standard non-irreducible elliptic fibration bad fibre, when given the correct multiplicity. Each Kodaira configuration on a K3 surface is the bad fibre of a unique (up to automorphisms of the base \({\bf P}^1\)) elliptic fibration and two Kodaira configurations give the same fibration if and only if they are disjoint (see Section 4 of [Besier et al., n.d.]).
The elliptic fibration intrinsics in this section provide the following functionality. Given the intersection matrix of a collection, \(\Sigma\), of (-2)-curves on \(S\), there is an intrinsic that computes all of the maximal disjoint sets of Kodaira configurations supported on \(\Sigma\). For a particular Kodaira configuration, consisting of (-2)-curves that may be either the strict transforms of curves on the singular model of \(S\) or irreducible blow-up curves over the simple singularities, there is an intrinsic to explicitly compute the associated elliptic fibration map to \({\bf P}^1\). Additionally, there is an intrinsic to compute the generic fibre, as a curve over a rational function field \(k(t)\) where \(k\) is the base field of \(S\), of an elliptic fibration from its map. This intrinsic also computes the associated \(k(t)\)-rational points on the generic fibre for a given set of sections of the fibration.
- KodairaConfigurations(imat): Mtrx -> List#
verbose: KodFibs Default: Verbose : 1
The argument \(imat\) should be the intersection matrix of an ordered set \(\Sigma\) of irreducible (-2)-curves on the desingularisation of a degree \(2\) K3 surface \(S\). Returns a list containing all of the maximal disjoint sets of Kodaira configurations supported on \(\Sigma\) (see the introductory section). The list is in 1-1 correspondence with equivalence classes of elliptic fibrations on \(S\) that have at least one bad fibre supported entirely on curves in \(\Sigma\). The set of Kodaira configurations in the list entry gives all of the bad fibres of the corresponding fibration that are supported on curves in \(\Sigma\). Here, we say that two elliptic fibration maps to \({\bf P}^1\) are equivalent if they simply differ by an automorphism of \({\bf P}^1\) and that two elliptic fibrations are equivalent if the associated equivalence classes of elliptic fibration maps are the same. Equivalent elliptic fibrations clearly have the same set of fibres.
The list entry for a maximal disjoint set of configurations is a sequence of the form \([e_1,\ldots,e_r]\) where the \(e_i\) are the configurations given in the form of a pair \(\langle s,l\rangle\) where \(s\) is the a sequence of indices of the elements of \(\Sigma\) forming the components of the fibre and \(l\) is a label string giving the type of the fibre.
The type labels use the extended Dynkin notation for elliptic bad fibres, except that \(I_n\) is used rather than \(\tilde{A_n}\) for multiplicative reduction types. The code cannot distinguish between types \(III\) and \(I_2\) or \(IV\) and \(I_3\) (this doesn’t matter in practice: the fibres contain each irreducible component to multiplicity \(1\) either way), and the \(I_n\) label will be used in both cases. The possible type labels are thus \(I_n\), \(n \ge 2\), \(D_n\), \(n \ge 4\), and \(E_6\), \(E_7\), \(E_8\), where the \(D_i\) and \(E_i\) types are usually written with a tilde and represent a configuration of (-2)-curves forming an extended Dynkin diagram of the type label in terms of their dual intersection graph. See Ch. V, Sec. 7 of [Barth et al., 2004] for a description of these configurations.
To know what multiplicities of the components of the fibre occur, it is necessary to know which nodes of the corresponding extended Dynkin diagram correspond to which positions in the sequence \(s\). This depends on the type of the configuration.
For an \(I_n\) configuration, whose diagram is a (regular) \(n\)-gon, the order of \(s\) gives the cyclic order to which the components occur. That is, component \(s[1]\) is joined to component \(s[2]\), component \(s[2]\) to component \(s[3]\), \(\ldots\) component \(s[n-1]\) to component \(s[n]\) and component \(s[n]\) to component \(s[1]\).
For an extended \(D_n\) configuration, if \(s=[a_1,..,a_{n+1}]\) then the central axis of the extended Dynkin diagram is \(a_3 - a_4 - \ldots - a_{n-1}\) and \(a_1\), \(a_2\) join onto the \(a_3\) node, \(a_n\) and \(a_{n+1}\) join onto the \(a_{n-1}\) node [\(a_3\) is the central node when \(n=4\)].
For an extended \(E_6\) configuration, \(s=[a_1,\ldots,a_7]\) and in the extended Dynkin diagram, \(a_1\) is the central node and \(a_2-a_3\), \(a_4-a_5\), \(a_6-a_7\) are the arms with \(a_2\), \(a_4\) and \(a_6\) meeting \(a_1\).
For an extended \(E_7\) configuration, \(s=[a_1,\ldots,a_8]\) and in the extended Dynkin diagram, \(a_1 - a_2 - \ldots - a_6 - a_7\) is the main axis with \(a_8\) meeting \(a_4\).
For an extended \(E_8\) configuration, \(s=[a_1,\ldots,a_9]\) and in the extended Dynkin diagram, \(a_1 - a_2 - \ldots - a_7 - a_8\) is the main axis with \(a_9\) meeting \(a_3\).
- Example: Deg2K3 Int Pairings (ex-b2ea2c)#
We continue with the Drell-Yan surface, using the 28 (-2)-curves from the last example as our \(\Sigma\) and the intersection matrix computed there. We find a lot of inequivalent elliptic fibrations.
> SetVerbose("KodFibs",1); > time confs := KodairaConfigurations(imat); Getting simple paths... Time: 2.590 Getting In loops... Time: 0.610 Getting extended Dn configs... Time: 1.540 Getting extended E6 configs... Time: 0.070 Getting extended E7 configs... Time: 0.070 Getting extended E8 configs... Time: 0.190 Getting disjoint sets of configurations... Dealing with 16716 configurations. Done 1000 sets of configurations Done 2000 sets of configurations Done 3000 sets of configurations Done 4000 sets of configurations Done 5000 sets of configurations Done 6000 sets of configurations Done 7000 sets of configurations Done 8000 sets of configurations Done 9000 sets of configurations Done 10000 sets of configurations Done 11000 sets of configurations Done 12000 sets of configurations Done 13001 sets of configurations Done 14001 sets of configurations Done 15001 sets of configurations Done 16001 sets of configurations Time: 11.460 > #confs; 16402
We have found \(16402\) inequivalent elliptic fibrations of \(S\)! We examine the configuration data for some of them.
> Max([#e : e in confs]); 3 2022 > // 3 is the maximum number of disjoint Kodaira fibrations in > // one of the configuration sets. > // Get the indices in confs of the size 2 and 3 configuration sets > s2 := [i : i in [1..#confs] | #(confs[i]) eq 2]; > #s2; 282 > s3 := [i : i in [1..#confs] | #(confs[i]) eq 3]; > #s3; 16 > confs[s3[3]]; [ <[ 16, 18, 1, 4, 27, 28, 26, 3 ], "I8">, <[ 10, 20, 9, 24, 22, 23 ], "D5">, <[ 5, 14 ], "I2"> ]
The elliptic fibration corresponding to the above configuration has \(3\) bad fibres which are supported solely on curves in \(\Sigma\). They are multiplicative reduction fibres of type \(I_8\) and \(I_2\) and an additive reduction fibre of extended Dynkin type \(\tilde{D_5}\) (\(I^*_1\) in the alternative bad fibre notation). Using the order of indexing of our (-2)-curves and the notation \(E_{i,j}\) for the \(j\)th blow-up divisor of the \(i\)th desingularisation data object \(dsds[i]\) of \(S\), we see that the additive bad fibre as a divisor on the desingularisation of \(S\) is \(L_3^d+E_{3,2}+E_{4,2}+E_{4,3}+2*L_2^d+2*E_{4,4}\) where \(L_i^d\) is the strict transform of the curve
Lsd[i].The \(1968\)th elliptic fibration will be constructed in the next example. It’s configuration data contains two bad fibres supported on \(\Sigma\): an \(I_{10}\) and an \(I_2\) fibre.
> confs[1968]; [ <[ 25, 10, 9, 24, 23, 2, 3, 26, 28, 27 ], "I10">, <[ 6, 13 ], "I2"> ]
- EllipticFibrationRRSpaceDeg2K3(S, divlst, exdivlst): Srfc, SeqEnum, SeqEnum -> SeqEnum[RngMPolElt], RngMPolElt#
The first argument \(S\) should be a degree 2 K3 surface in standard form. Given a Kodaira fibre \(F\) on the desingularisation \(X\) of \(S\), the intrinsic returns the \(2\)-dimensional Riemann–Roch space of \(F\), \(H^0(X,L(F))\), as a sequence \(B\) and denominator \(d\). Here \(B=[f_1,f_2]\) where \(f_1,f_2,d\) are all weighted homogeneous polynomials of the same degree in the coordinate ring of the ambient of \(S\), and a basis for the R-R space is given by the two rational functions on \(S\), \(f_1/d\) and \(f_2/d\).
The return is in this form for convenience because the divisor map from \(S \rightarrow {\bf P}^1\) of \(|F|\), which is the elliptic fibration map with \(F\) as a bad fibre, is then just defined by \(B\).
The components of \(F\) may be strict transforms of irreducible curves on \(S\) or irreducible blow-up divisors over the singular points of \(S\). \(F\) is specified by the second and third argument as follows. Assume that, as a divisor on \(X\), it is given by the sum \(m_1*D_1+\ldots+m_r*D_r+n_1*E_1+\ldots+n_s*E_s\), where the \(D_i\) are the irreducible components of \(F\) that are strict transforms of curves on \(S\), the \(E_i\) are irreducible blow-up divisors and the \(m_i,n_j\) are positive multiplicities.
The second argument
divlstspecifies the (always non-empty) \(D_i\) part of the divisor sum. It should be a sequence of (Sch,RngIntElt) 2-element lists where the \(i\)th 2-element list is \([*Z_i,m_i*]\) where \(Z_i\) is the subscheme of \(S\) whose strict transform is \(D_i\).The third argument
exdivlstspecifies the \(E_i\) part of the sum. It should be a sequence of (Sch,RngIntElt,RngIntElt) 3-element lists. For the \(n_i*E_i\) term of the sum, if \(E_i\) is the \(j\)th irreducible divisor over the singularity represented by desingularisation data objectdsd, the corresponding 3-element list would be \([*dsd,j,n_i*]\). If there are no \(E_i\), this sequence should just be the empty sequence.A concrete example of using this intrinsic is given below.
The computation uses a simplified version of the standard Magma Riemann–Roch functionality applied to an ordinary projective embedding of \(S\) into ordinary \({\bf P}^{10}\), with simplifications coming from the fact that this is a projectively-normal embedding. The blow-up divisor part is handled by the linear system divisor restriction intrinsic.
- EllipticGeneralFibreDeg2K3(S, B, secs): Srfc, SeqEnum[RngMPolElt], SeqEnum[Sch] -> Crv, SeqEnum, SeqEnum#
varname: MonStgElt Default: "t"
As usual, the first argument \(S\) should be a degree 2 K3 surface in standard form. The second argument \(B\) should be a sequence of two weighted-homogeneous polynomials of the same degree in the coordinate ring of the ambient of \(S\) that define an elliptic fibration map on \(S\). E.g., as returned by the previous intrinsic. The third argument
secsshould be a (possibly empty) sequence of irreducible subschemes of \(S\) whose strict transforms to the desingularisation of \(S\) give sections of this fibration. If \(F\) is any fibre of the elliptic fibration (e.g. a Kodaira fibre defining it), then the condition that the strict transform \(\tilde{D}\) of irreducible \(D \subset S\) is a section is precisely that the intersection number \(\tilde{D}.F = 1\). This is easily checked with the intersection matrix intrinsic.If the base field of \(S\) is \(k\), the intrinsic returns a (generally singular) curve \(C\) over rational function field \(k(t)\) that is a birational model of the smooth genus \(1\) generic fibre of the fibration map. Technically speaking, this is the scheme-theoretic pullback of the fibration \(S \rightarrow {\bf P}^1\) under the generic point inclusion map \(Spec(k(t)) \rightarrow {\bf P}^1\). \(t\) corresponds to the rational function \(B[1]/B[2]\) on \(S\). \(C\) will usually be returned as a plane curve.
A second return value gives the sequence of \(k(t)\)-rational points on \(C\) corresponding to the sections in
secs.The third return value is a sequence of \(4\) rational functions on the ambient of \(C\) that give the substitutions for \(x,y,z,w\) (the coordinate variables on the ambient of \(S\)) that transform \(S\) generically into \(C\).
By default, the variable generator \(t\) of the rational function field \(k(t)\) over which \(C\) is defined, will be labelled “t”. To change this, the
varnameparameter can be used to specify the string used for the variable labelling.
- Example: Deg2K3 Ell Fib Ex (ex-d5a79f)#
We construct one of the elliptic fibrations of the Drell-Yan surface coming from the configurations found in the last example, compute its generic fibre, and use a point on this fibre coming from a section to transform to a Weierstrass elliptic curve model over \({\bf Q}(t)\).
The fibration we will construct is the one corresponding to the \(1968\)th configuration found, \(confs[1968]\). It has two bad fibres supported on our set of \(28\) curves, an \(I_2\) and an \(I_{10}\) fibre. Although it is simpler to construct the fibration from the \(I_2\) fibre, we will use the \(I_{10}\) fibre, which contains blow-up divisors, to better illustrate the Kodaira fibre divisor specification.
In the notation of the last example, the \(I_{10}\) Kodaira fibre is
\[L_2+L_2^d+L_3+L_3^d+E_{4,3}+E_{4,4}+E_{5,1}+E_{5,2}+E_{5,3}+E_{5,4}\]We also note that \(L_4,\ L_4^d,\ L_5,\ L_5^d\) each give sections of the fibration as is easily deduced from the intersection matrix \(imat\).
> dsds := ResolveSingularSurface(S); // get the desing data objects > B,F := EllipticFibrationRRSpaceDeg2K3(S,[ [*Ls[2],1*],[*Lsd[2],1*], > [*Ls[3],1*], [*Lsd[3],1*] ], [ [*dsds[4],j,1*] : j in [3,4] ] cat > [ [*dsds[5],j,1*] : j in [1..4] ]); > B; F; [ x^2 + y*z, x*y + x*z ] x*y + x*z
Now we get the generic fibre of the fibration and the points on it corresponding to the sections listed above.
> C,pts,subst := EllipticGeneralFibreDeg2K3(S,B,[Ls[4],Lsd[4], > Ls[5],Lsd[5]]); > C; Ambient(C); Curve over Univariate rational function field over Rational Field defined by (t^2 + 2*t + 1)/t^4*a^4 + (-2*t^3 - 2*t^2 - 6*t - 2)/t^4*a^3*c + (t^4 + 8*t^2 + 4*t + 3)/t^4*a^2*c^2 + (-2*t^3 - 2*t^2 - 6*t - 2)/t^4*a*c^3 + (t^2 + 2*t + 1)/t^4*c^4 - b^2 Projective Space of dimension 2 over Univariate rational function field over Rational Field Variables: t Variables: a, b, c The grading is: 1, 2, 1 > pts; [ (t : (-t^2 + 1)/t^2 : 1), (t : (t^2 - 1)/t^2 : 1), (1 : (-t - 1)/t^2 : 0), (1 : (t + 1)/t^2 : 0) ] > subst; [ $.1, (1/t*$.1^2 - $.1*$.3)/($.1 - 1/t*$.3), $.3, ($.1^3*$.2 - $.1*$.2*$.3^2)/($.1^2 - 2/t*$.1*$.3 + 1/t^2*$.3^2) ]
\(C\) is given as a \(y^2=\) quartic curve in \({\bf P}(1,2,1)\) over \({\bf Q}(t)\). We transform to a Weierstrass form using \(pts[4]\) as a base point
> E,Emp := EllipticCurve(C,pts[4]); > E; Elliptic Curve defined by y^2 + (-2*t^7 - 2*t^6 - 6*t^5 - 2*t^4)/(t^4 + 6*t^3 + 4*t^2 + 2*t + 1)*x*y + (-4*t^19 - 20*t^18 - 52*t^17 - 92*t^16 - 108*t^15 - 76*t^14 - 28*t^13 - 4*t^12)/(t^12 + 18*t^11 + 120*t^10 + 366*t^9 + 555*t^8 + 588*t^7 + 496*t^6 + 324*t^5 + 171*t^4 + 74*t^3 + 24*t^2 + 6*t + 1)*y = x^3 + 2*t^8/(t^4 + 6*t^3 + 4*t^2 + 2*t + 1)*x^2 + (-4*t^24 - 32*t^23 - 112*t^22 - 224*t^21 - 280*t^20 - 224*t^19 - 112*t^18 - 32*t^17 - 4*t^16)/(t^16 + 24*t^15 + 232*t^14 + 1160*t^13 + 3268*t^12 + 5640*t^11 + 7096*t^10 + 7128*t^9 + 5830*t^8 + 3976*t^7 + 2296*t^6 + 1112*t^5 + 452*t^4 + 152*t^3 + 40*t^2 + 8*t + 1)*x + (-8*t^32 - 64*t^31 - 224*t^30 - 448*t^29 - 560*t^28 - 448*t^27 - 224*t^26 - 64*t^25 - 8*t^24)/(t^20 + 30*t^19 + 380*t^18 + 2650*t^17 + 11205*t^16 + 30376*t^15 + 56560*t^14 + 79960*t^13 + 91530*t^12 + 87300*t^11 + 70824*t^10 + 49580*t^9 + 30090*t^8 + 15880*t^7 + 7280*t^6 + 2872*t^5 + 965*t^4 + 270*t^3 + 60*t^2 + 10*t + 1) over Univariate rational function field over Rational Field
We can now find minimising transformations to greatly simplify this Weierstrass equation but we will finish here.