Borcherds' method for Enriques surfaces

An Enriques surface is a smooth, proper surface YY over a field kk such that YY has second étale Betti-number b2(Y)=10b_2(Y)=10 and numerically trivial canonical bundle.

Let now kk be algebraically closed of characteristic not 22. Under certain genericity assumptions on YY a version of Borcherds' method allows to compute the image of the map

Aut(Y)O(Num(Y)),\mathrm{Aut}(Y) \to O(\mathrm{Num}(Y)),

a fundamental domain of the action of Aut(Y)\mathrm{Aut}(Y) on the nef cone of YY, and a complete set of representatives of the Aut(Y)\mathrm{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_surfaceMethod
generic_enriques_surface(n::Int)  -> EnriquesBorcherdsCtx

Return the (τ,τ)(\tau,\overline{\tau})-generic Enriques surface of number nn as in Table 1.1 of [BS22].

#Input: nn – an integer between 11 and 184184 different from 8888 and 146146.

source
enriques_surface_automorphism_groupMethod
enriques_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 π:XY\pi: X \to Y be the universal cover of an Enriques surface and ϵ\epsilon the Enriques involution. Let SYS_Y be the numerical lattice of YY. This function computes the image of the natural map

φY ⁣:Auts(Y)O(SYF2)\varphi_Y \colon \mathrm{Aut}_{s}(Y) \to O(S_Y \otimes \mathbb{F}_2)

where Auts(Y)Aut(Y)\mathrm{Aut}_{s}(Y) \leq \mathrm{Aut}(Y) denotes the subgroup of semi-symplectic automorphisms. Note that the kernel of φY\varphi_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 lattice SX of XX.
  • ample – optionally an ample class as a 1×x101\times x 10 matrix representing an ample class w.r.t. the basis of SY2; if not given, some arbitrary Weyl-chamber is picked.

Output

See borcherds_method(::EnriquesBorcherdsCtx) for a description of the output.

source

The surface

EnriquesBorcherdsCtxType
EnriquesBorcherdsCtx

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 YY be an Enriques surface over an algebraically closed field of characteristic not 22 and π:XYπ : X → Y its universal covering K3 surface. We denote by SYS_Y and SXS_X the numerical lattices of YY and XX.

Most importantly the type stores a chain of lattices

SY(2)SXL1,25S_Y(2) \subseteq S_X \subseteq L_{1,25}

where L1,15L_{1,15} is an even unimodular lattice of signature (1,25)(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]
source
borcherds_methodMethod
borcherds_method(Y::EnriquesBorcherdsCtx; max_nchambers=-1)

Compute Auts(Y)\mathrm{Aut}_{s}(Y) of the Enriques surface YY using Borcherds method.

Here Auts(Y)\mathrm{Aut}_{s}(Y) denotes the group consisting of semi-symplectic automorphisms of YY. The quotient Aut(Y)/Auts(Y)\mathrm{Aut}(Y)/\mathrm{Aut}_{s}(Y) is a finite group and known to be cyclic in most cases [BG24].

Let π ⁣:XY\pi \colon X \to Y be the K3 cover of YY.

Input:

  • Y – represents an Enriques surface in terms of π ⁣:SY(2)SX\pi^*\colon S_Y(2) \hookrightarrow S_X.
  • max_nchambers – abort the computation after max_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:

  1. A matrix group, the image of Auts(Y)O(SY)\mathrm{Aut}_{s}(Y) \to O(S_Y)
  2. A complete list of representatives of the G:=GY0G:=G_Y^0-congruence classes of SYSXS_Y|S_X-chambers.
  3. A list of (2)(-2)-vectors representing smooth rational curves on YY such that any rational curve of YY is in the same Aut(Y)\mathrm{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 YY be an Enriques surface with finite automorphism group of type II. Assume that it is very general so that the covering K3 surface XX has picard rank 1919 and no extra non-symplectic automorphisms. In the terminology of [BS22] it is an (E8+A1,E8+A1)(E_8+A_1,E_8+A_1)-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)\mathrm{Aut}(Y) is a dihedral group of order 88 and its image Aut(Y)\mathrm{Aut}^*(Y) in O(SY)O(S_Y) is a group of order 44. 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 YY is is the union of the Aut(Y)\mathrm{Aut}(Y)-orbits of the chambers in chambersY. Since the automorphism group of this particular Enriques surface YY is finite, the nef-cone is a finite rational polyhedral cone. In our case there is a single chamber DD and it fixed by Aut(Y)\mathrm{Aut}(Y). Hence DD is the nef cone of YY. It has 1212 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 1212 rational curves and 99 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)\mathrm{Aut}(Y)-orbits of the rational curves split as 2+2+2+2+42+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 44 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
source
splitting_roots_mod2Method
splitting_roots_mod2(Y::EnriquesBorcherdsCtx)

Return the image of the splitting roots of YY in SYF2S_Y \otimes \mathbb{F}_2.

source
root_invariantMethod
root_invariant(Y::EnriquesBorcherdsCtx)

Return the root invariant of YY.

source
massMethod
mass(ECtx::EnriquesBorcherdsCtx)

Return the mass of YY

Let V0V_0 be a complete set of representatives of the Aut(Y)\mathrm{Aut}(Y)-orbits of L26SYL_{26}|S_Y-chambers. The mass satisfies

mass(Y)=DV01AutG(D)=ind(D0)GˉX\mathrm{mass}(Y)=\sum_{D \in V_0} \frac{1}{\sharp \mathrm{Aut}_G(D)} = \frac{\mathrm{ind}(D_0)}{\sharp \bar G_{X-}}

where D0D_0 is the initial chamber and ind(D0)\mathrm{ind}(D_0) is its volume index.

source
numerical_latticeMethod
numerical_lattice(Y::EnriquesBorcherdsCtx) -> ZZLat

Return the numerical lattice of the Enriques surface YY.

source
numerical_lattice_of_K3_coverMethod
numerical_lattice_of_K3_cover(Y::EnriquesBorcherdsCtx) -> ZZLat

Return the numerical lattice of the universal covering K3 surface of YY.

source
invariant_lattice_of_K3_coverMethod
invariant_lattice_of_K3_cover(Y::EnriquesBorcherdsCtx) -> ZZLat

Return the invariant lattice of the universal covering K3 surface of Y under the Enriques involution.

source

Chambers

raysMethod
rays(D::EnriquesChamber)

Return the list of primitive ray generators of DD.

source
isotropic_raysMethod
isotropic_rays(D::EnriquesChamber)

Return the list of primitive isotropic ray generators of DD.

source
wallsMethod
walls(D::EnriquesChamber)

Return the list of walls of DD.

source
homMethod
hom(D1::EnriquesChamber, D2::EnriquesChamber)

Return the set of elements of GY0G_Y^0 mapping D1D_1 to D2D_2 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\}\]

source
adjacent_chamberMethod
adjacent_chamber(D::EnriquesChamber, v::ZZMatrix) -> EnriquesChamber

Return return the chamber adjacent to D via the wall defined by v.

source
chamber_invariantsMethod
chamber_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 D0D_0 is O(SYF2)/volindexO(S_Y \otimes \mathbb{F}_2)/\mathrm{volindex}.
  • The name of the embedding SY(2)L1,25S_Y(2) \to L_{1,25} stored in YY.
  • The type of the root sublattice of the orthognal complement of SY(2)S_Y(2) in L1,25L_{1,25}.
source

Orbits of Nef divisors

isomorphism_classes_polarizationsMethod
isomorphism_classes_polarizations(Y::EnriquesBorcherdsCtx, h::ZZMatrix)

Return the isomorphism classes of numerical quasi-polarizations of YY which are of the same type as hh along with some invariants.

See [BG24].

Output

The first return value is the degree of the the forgetful map

Ph ⁣:MEn,hMEn,(Y,h)Y\mathcal{P}^h\colon \mathcal{M}_{En,h} \to \mathcal{M}_{En}, \quad (Y,h') \mapsto Y

of the moduli space of numerically hh-quasi-polarized Enriques complex surfaces.

The second return value is a list of triples representing the fiber (Ph)1(Y)(\mathcal{P}^h)^{-1}(Y)

  • the ramificaton index of Ph\mathcal{P}^h at (Y,h)(Y,h')
  • the ADE types of the smooth rational curves orthogonal to hh'
  • a matrix gˉ\bar g mod 2 such that h=hgwh' = h^{gw} for ww the unique element of the Weyl group of YY such that hgwh^gw is nef.

Input:

  • Y – representing the Enriques surface in question
  • h – row matrix representing an element in SYS_Y with respect to its basis matrix.
source
isomorphism_classes_elliptic_fibrationsMethod
isomorphism_classes_elliptic_fibrations(Y::EnriquesBorcherdsCtx)

Return the list of isomorphism classes of elliptic fibrations on the Enriques surface YY. Let

Pe ⁣:MEn,eMEn,(Y,f)Y\mathcal{P}^e \colon \mathcal{M}_{En,e} \to \mathcal{M}_{En}, \quad (Y,f) \mapsto Y

be the forgetful map from the moduli space of elliptic Enriques surfaces to the moduli space of Enriques surfaces. Here ff is the numerical class of a half-fiber.

Output:

A list of triples with the following entries:

  • the ramification index of Pe\mathcal{P}^e in (V,f)(V,f)
  • the simple fibers, the double fibers
  • representative of the half fiber ff modulo 22
source
reducible_fibersMethod
reducible_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 ff.

Input:

  • fbar – the class of f/2f/2 in the discriminant group of SY(2)S_Y(2) where ff is the class of a half fiber of an elliptic fibration on YY

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.
source

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.