Borcherds' method for Enriques surfaces
An Enriques surface is a smooth, proper surface Y over a field k such that Y has second étale Betti-number b2(Y)=10 and numerically trivial canonical bundle.
Let now k be algebraically closed of characteristic not 2. Under certain genericity assumptions on Y a version of Borcherds' method allows to compute the image of the map
Aut(Y)→O(Num(Y)),
a fundamental domain of the action of Aut(Y) on the nef cone of Y, and a complete set of representatives of the Aut(Y)-orbits of smooth rational curves, elliptic fibrations and polarizations.
See [BS22], [BS22*1], [BRS23] for the underlying algorithms and theory.
Automorphisms
The two main entry points are the following:
generic_enriques_surface
— Methodgeneric_enriques_surface(n::Int) -> EnriquesBorcherdsCtx
Return the (τ,τ)-generic Enriques surface of number n as in Table 1.1 of [BS22].
#Input: n – an integer between 1 and 184 different from 88 and 146.
enriques_surface_automorphism_group
— Methodenriques_surface_automorphism_group(SY2::ZZLat, SX::ZZLat; ample::Union{ZZMatrix,Nothing}=nothing)
Compute the automorphism group of an Enriques surface, its nef cone and its smooth rational curves.
Let π:X→Y be the universal cover of an Enriques surface and ϵ the Enriques involution. Let SY be the numerical lattice of Y. This function computes the image of the natural map
φY:Auts(Y)→O(SY⊗F2)
where Auts(Y)≤Aut(Y) denotes the subgroup of semi-symplectic automorphisms. Note that the kernel of φY is finite.
See [BS22], [BS22*1], and [BRS23] for background and algorithms.
Input:
SY2
– the invariant lattice of the Enriques involution in the numerical latticeSX
of X.ample
– optionally an ample class as a 1×x10 matrix representing an ample class w.r.t. the basis ofSY2
; if not given, some arbitrary Weyl-chamber is picked.
Output
See borcherds_method(::EnriquesBorcherdsCtx)
for a description of the output.
The surface
EnriquesBorcherdsCtx
— TypeEnriquesBorcherdsCtx
Holds data for computing invariants of families of Enriques surfaces with fixed root invariants, in particular the automorphism group of a general element.
The setting is the following: Let Y be an Enriques surface over an algebraically closed field of characteristic not 2 and π:X→Y its universal covering K3 surface. We denote by SY and SX the numerical lattices of Y and X.
Most importantly the type stores a chain of lattices
SY(2)⊆SX⊆L1,25
where L1,15 is an even unimodular lattice of signature (1,25).
An easy way to construct examples is to call generic_enriques_surface(n::Int)
. Here the generic 1-nodal Enriques surface:
julia> Y = generic_enriques_surface(1)
Enriques Borcherds context
with det(SX) = 1024
with root invariant [(:A, 1)]
julia> numerical_lattice(Y)
Integer lattice of rank 10 and degree 10
with gram matrix
[-2 0 0 1 0 0 0 0 0 0]
[ 0 -2 1 0 0 0 0 0 0 0]
[ 0 1 -2 1 0 0 0 0 0 0]
[ 1 0 1 -2 1 0 0 0 0 0]
[ 0 0 0 1 -2 1 0 0 0 0]
[ 0 0 0 0 1 -2 1 0 0 0]
[ 0 0 0 0 0 1 -2 1 0 0]
[ 0 0 0 0 0 0 1 -2 1 0]
[ 0 0 0 0 0 0 0 1 -2 1]
[ 0 0 0 0 0 0 0 0 1 -2]
borcherds_method
— Methodborcherds_method(Y::EnriquesBorcherdsCtx; max_nchambers=-1)
Compute Auts(Y) of the Enriques surface Y using Borcherds method.
Here Auts(Y) denotes the group consisting of semi-symplectic automorphisms of Y. The quotient Aut(Y)/Auts(Y) is a finite group and known to be cyclic in most cases [BG24].
Let π:X→Y be the K3 cover of Y.
Input:
Y
– represents an Enriques surface in terms of π∗:SY(2)↪SX.max_nchambers
– abort the computation aftermax_nchambers
chambers have been computed; return the generators, chambers and curves computed so far. They may not generate the full automorhism group, and not cover all orbits of chambers or rational curves.
Output:
- A matrix group, the image of Auts(Y)→O(SY)
- A complete list of representatives of the G:=GY0-congruence classes of SY∣SX-chambers.
- A list of (−2)-vectors representing smooth rational curves on Y such that any rational curve of Y is in the same Aut(Y)-orbit as at least one class in the list.
All vectors and matrices are represented with respect to the basis of the numerical_lattice(::EnriquesBorcherdsCtx)
Examples
Let Y be an Enriques surface with finite automorphism group of type I. Assume that it is very general so that the covering K3 surface X has picard rank 19 and no extra non-symplectic automorphisms. In the terminology of [BS22] it is an (E8+A1,E8+A1)-generic Enriques surface, namely the one of Number 172 in Table 1.1. Following Section 7.4 of loc. cit. we compute some invariants.
The group Aut(Y) is a dihedral group of order 8 and its image Aut∗(Y) in O(SY) is a group of order 4. It is this group we compute.
julia> Y = generic_enriques_surface(172)
Enriques Borcherds context
with det(SX) = 4
with root invariant [(:A, 1), (:E, 8)]
julia> autY, chambersY, rational_curves_reprY = borcherds_method(Y);
julia> order(autY)
4
The nef-cone of Y is is the union of the Aut(Y)-orbits of the chambers in chambersY
. Since the automorphism group of this particular Enriques surface Y is finite, the nef-cone is a finite rational polyhedral cone. In our case there is a single chamber D and it fixed by Aut(Y). Hence D is the nef cone of Y. It has 12 walls and each of them is defined by a smooth rational curve.
julia> D = only(chambersY);
julia> length(aut(D))
4
julia> length(walls_defined_by_rational_curves(D))
12
julia> length(walls(D))
12
The surface has 12 rational curves and 9 elliptic fibrations.
julia> rational_curvesY = gset(autY, (x,g) -> x*matrix(g), rational_curves_reprY);
julia> length(rational_curvesY)
12
julia> length(isotropic_rays(D))
9
The Aut(Y)-orbits of the rational curves split as 2+2+2+2+4.
julia> [length(i) for i in orbits(rational_curvesY)]
5-element Vector{Int64}:
2
2
4
2
2
The elliptic fibrations split into 4 orbits, as we shall see by two different methods:
julia> elliptic_classes = gset(autY,(x,g)->x*matrix(g), isotropic_rays(D));
julia> [length(i) for i in orbits(elliptic_classes)]
4-element Vector{Int64}:
2
1
2
4
julia> isomorphism_classes_elliptic_fibrations(Y)
4-element Vector{Tuple{Int64, Tuple{Vector{Tuple{Symbol, Int64}}, Vector{Tuple{Symbol, Int64}}}, TorQuadModuleElem}}:
(2, ([(:E, 8)], []), [0 1 0 0 0 0 0 0 0 0])
(135, ([(:A, 1)], [(:A, 7)]), [1 0 1 0 0 0 0 0 0 0])
(270, ([(:D, 8)], []), [0 1 1 0 0 0 0 0 0 0])
(120, ([(:E, 7)], [(:A, 1)]), [1 1 0 1 0 0 0 0 0 0])
Finally, we check the mass formula in this rather trivial case.
julia> mass(Y) == sum(1//length(aut(D)) for D in chambersY)
true
splitting_roots_mod2
— Methodsplitting_roots_mod2(Y::EnriquesBorcherdsCtx)
Return the image of the splitting roots of Y in SY⊗F2.
root_invariant
— Methodroot_invariant(Y::EnriquesBorcherdsCtx)
Return the root invariant of Y.
mass
— Methodmass(ECtx::EnriquesBorcherdsCtx)
Return the mass of Y
Let V0 be a complete set of representatives of the Aut(Y)-orbits of L26∣SY-chambers. The mass satisfies
mass(Y)=D∈V0∑♯AutG(D)1=♯GˉX−ind(D0)
where D0 is the initial chamber and ind(D0) is its volume index.
numerical_lattice
— Methodnumerical_lattice(Y::EnriquesBorcherdsCtx) -> ZZLat
Return the numerical lattice of the Enriques surface Y.
numerical_lattice_of_K3_cover
— Methodnumerical_lattice_of_K3_cover(Y::EnriquesBorcherdsCtx) -> ZZLat
Return the numerical lattice of the universal covering K3 surface of Y.
invariant_lattice_of_K3_cover
— Methodinvariant_lattice_of_K3_cover(Y::EnriquesBorcherdsCtx) -> ZZLat
Return the invariant lattice of the universal covering K3 surface of Y
under the Enriques involution.
Chambers
rays
— Methodrays(D::EnriquesChamber)
Return the list of primitive ray generators of D.
isotropic_rays
— Methodisotropic_rays(D::EnriquesChamber)
Return the list of primitive isotropic ray generators of D.
walls
— Methodwalls(D::EnriquesChamber)
Return the list of walls of D.
hom
— Methodhom(D1::EnriquesChamber, D2::EnriquesChamber)
Return the set of elements of GY0 mapping D1 to D2 where
\[G_Y^0 = \mathrm{Aut}^*(Y)\mathrm{W}(Y) = \{f \in O(S_Y) \mid f \mbox{ extends to an isometry of }S_X\mbox{ acting trivially on the discriminant group of }S_X\}\]
adjacent_chamber
— Methodadjacent_chamber(D::EnriquesChamber, v::ZZMatrix) -> EnriquesChamber
Return return the chamber adjacent to D
via the wall defined by v
.
chamber_invariants
— Methodchamber_invariants(Y::EnriquesBorcherdsCtx)
Return a triple [volindex, name, root_type]
of invariants of the induced chambers.
The invariants are taken from Table 1.1 and Table 1.2 of [BS22*1].
Output:
- The number of Vinberg chambers contained in D0 is O(SY⊗F2)/volindex.
- The name of the embedding SY(2)→L1,25 stored in Y.
- The type of the root sublattice of the orthognal complement of SY(2) in L1,25.
Orbits of Nef divisors
isomorphism_classes_polarizations
— Methodisomorphism_classes_polarizations(Y::EnriquesBorcherdsCtx, h::ZZMatrix)
Return the isomorphism classes of numerical quasi-polarizations of Y which are of the same type as h along with some invariants.
See [BG24].
Output
The first return value is the degree of the the forgetful map
Ph:MEn,h→MEn,(Y,h′)↦Y
of the moduli space of numerically h-quasi-polarized Enriques complex surfaces.
The second return value is a list of triples representing the fiber (Ph)−1(Y)
- the ramificaton index of Ph at (Y,h′)
- the ADE types of the smooth rational curves orthogonal to h′
- a matrix gˉ mod 2 such that h′=hgw for w the unique element of the Weyl group of Y such that hgw is nef.
Input:
Y
– representing the Enriques surface in questionh
– row matrix representing an element in SY with respect to its basis matrix.
isomorphism_classes_elliptic_fibrations
— Methodisomorphism_classes_elliptic_fibrations(Y::EnriquesBorcherdsCtx)
Return the list of isomorphism classes of elliptic fibrations on the Enriques surface Y. Let
Pe:MEn,e→MEn,(Y,f)↦Y
be the forgetful map from the moduli space of elliptic Enriques surfaces to the moduli space of Enriques surfaces. Here f is the numerical class of a half-fiber.
Output:
A list of triples with the following entries:
- the ramification index of Pe in (V,f)
- the simple fibers, the double fibers
- representative of the half fiber f modulo 2
reducible_fibers
— Methodreducible_fibers(Y::EnriquesBorcherdsCtx, fbar::TorQuadModuleElem) -> simple fibers, multiple fibers
Return the ADE types and multiplicity of the reducible singular fibers of the genus-1-fibration induced by f.
Input:
fbar
– the class of f/2 in the discriminant group of SY(2) where f is the class of a half fiber of an elliptic fibration on Y
Output:
- The first return value is a list of the ADE-types of the simple fibers.
- The second return value is a list of the ADE-types of the double fibers.
Contact
Please direct questions about this part of OSCAR to the following people:
You can ask questions in the OSCAR Slack.
Alternatively, you can raise an issue on github.