Automorphism Groups of K3 surfaces

A complex K3 surface is a compact complex surface $X$ with vanishing irregularity $h^1(X, \mathcal{O}_X)=0$ and trivial canonical bundle $\mathcal{O}_X\cong \omega_X$.

Much of the theory of (complex) K3 surfaces is governed by its Hodge structure and the $\mathbb{Z}$-lattices $NS(X) \subseteq H^2(X, \mathbb{Z})$.

See [Huy16] for the theory of K3 surfaces.

Automorphisms

K3_surface_automorphism_groupMethod
K3_surface_automorphism_group(S::ZZLat [, ample_class]) -> generators, rational curves, chambers

Compute the automorphism group of a very-general $S$-polarized K3 surface.

Further return representatives of the $\mathrm{Aut}(X)$-orbits of (-2)-curves on X and a fundamental domain for the action of $\mathrm{Aut}(X)$ on the set of nef L|S chambers. This is almost a fundamental domain for $\mathrm{Aut}(X)$ on the nef cone.

Here very general means that $Num(X)$ is isomorphic to S and the image of $\mathrm{Aut}(X) \to H^0(X,\Omega^2_X)$ is $\pm 1$.

The function returns generators for the image of

\[f\colon \mathrm{Aut}(X) \to O(Num(X))\]

The output is represented with respect to the basis of S.

Note that under our genericity assumptions the kernel of $f$ is of order at most $2$ and it is equal to $2$ if and only if $S$ is $2$-elementary. If an ample class is given, then the generators returned preserve it.

This kind of computation can be very expensive. To print progress information use set_verbosity_level(:K3Auto, 2) or higher.

Input

  • S: a hyperbolic lattice
  • ample: a row matrix or a vector given with respect to the ambient space of S.
source
borcherds_methodFunction
borcherds_method(S::ZZLat, n::Integer; compute_OR=true, entropy_abort=false, max_nchambers=-1)
borcherds_method(L::ZZLat, S::ZZLat, w::QQMatrix; compute_OR=true, entropy_abort=false, max_nchambers=-1)

Compute the symmetry group of a Weyl chamber up to finite index.

Arguments

  • w: initial Weyl row vector represented with respect to the basis of L;
  • L: even, unimodular, hyperbolic lattice of rank n=10,18 or 26;
  • S: a primitive sublattice of L;
  • compute_OR=true: if false take as G all isometries of S extending to L;
  • max_nchambers: break the computation after max_nchambers are found;
  • entropy_abort abort if an automorphism of positive entropy is found.
source
borcherds_method(Y::EnriquesBorcherdsCtx; max_nchambers=-1)

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

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

Let $\pi \colon X \to Y$ be the K3 cover of $Y$.

Input:

  • Y – represents an Enriques surface in terms of $\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 $\mathrm{Aut}_{s}(Y) \to O(S_Y)$
  2. A complete list of representatives of the $G:=G_Y^0$-congruence classes of $S_Y|S_X$-chambers.
  3. A list of $(-2)$-vectors representing smooth rational curves on $Y$ such that any rational curve of $Y$ is in the same $\mathrm{Aut}(Y)$-orbit as at least one class in the list.

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 $(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 $\mathrm{Aut}(Y)$ is a dihedral group of order $8$ and its image $\mathrm{Aut}^*(Y)$ in $O(S_Y)$ 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 $\mathrm{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 $\mathrm{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 $\mathrm{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
source
K3ChamberType
K3Chamber

The $L|S$ chamber induced from a Weyl vector in L.

Let $L$ be an even, unimodular and hyperbolic lattice of rank $10$, $18$ or $26$ and $S$ be a primitive sublattice. Any Weyl vector $w$ of $L$ defines a Weyl chamber $C(w)$ in the positive cone of $L$. The Weyl chamber is a rational locally polyhedral cone with infinitely many facets, i.e. walls. It is the intersection of the positive half-spaces defined by $\Delta_L(w) = \{r \in L | r^2=-2, r.w = 1\}$. We have

\[C(w)=\{x \in \mathcal{P}_L | \forall r \in \Delta_L(w): x.r \geq 0\}\]

The Weyl chamber is a fundamental domain for the action of the Weyl group on the positive cone. We say that $S \otimes \mathbb{R} \cap C(w)$ is the $L|S$-chamber induced by $w$.

Note that two Weyl vectors induce the same chamber if and only if their orthogonal projections to $S$ coincide.

source
chamberFunction
chamber(data::BorcherdsCtx, weyl_vector::ZZMatrix, [parent_wall::ZZMatrix, walls::Vector{ZZMatrix}])

Return the $L|S$-chamber with the given Weyl vector.

The lattices $L$ and $S$ are stored in data. Via the parent walls we can obtain a spanning tree of the chamber graph.

source
weyl_vectorMethod
weyl_vector(D::K3Chamber) -> ZZMatrix

Return the Weyl vector defining this chamber.

source
wallsMethod
walls(D::K3Chamber) -> Vector{ZZMatrix}

Return the walls of the chamber D, i.e. its facets.

The corresponding half space of the wall defined by v in walls(D) is

\[\{x \in S \otimes \mathbb{R} | \langle x,v \rangle \geq 0\}.\]

v is given with respect to the basis of S and is primitive in S.

Note that [Shi15] follows a different convention and takes v primitive in S^\vee.

source
inner_pointMethod
inner_point(L::ZZLat, S::ZZLat, w::QQMatrix)
inner_point(C::K3Chamber)

Return a reasonably small integer inner point of the given L|S chamber.

source
raysMethod
rays(D::K3Chamber)

Return the rays of the chamber D.

They are represented as primitive row vectors with respect to the basis of S.

source
autMethod
aut(E::K3Chamber) -> Vector{ZZMatrix}

Return the stabilizer $\mathrm{Aut}_G(E)$ of $E$ in $G$.

The elements are represented with respect to the basis of $S$.

source
homMethod
hom(D::K3Chamber, E::K3Chamber) -> Vector{ZZMatrix}

Return the set $\mathrm{Hom}_G(D, E)$ of elements of $G$ mapping D to E.

The elements are represented with respect to the basis of $S$.

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

Return return the $L|S$ chamber adjacent to D via the wall defined by v.

source
separating_hyperplanesMethod
separating_hyperplanes(S::ZZLat, v::QQMatrix, h::QQMatrix, d)

Return $\{x \in S | x^2=d, x.v>0, x.h<0\}$.

Arguments

  • S: a hyperbolic lattice
  • d: a negative integer
  • v,h: vectors of positive square
source
has_zero_entropyFunction
has_zero_entropy(S::ZZLat; rank_unimod=26) ->

Compute if the symmetry group of a Weyl chamber is elliptic, parabolic or hyperbolic.

Output

  • 1 - elliptic – the symmetry group is finite
  • 0 - parabolic – there is a unique cusp with infinite stabilizer
  • -1 - hyperbolic – positive entropy

This calls borcherds_method and breaks the computation as soon as a symmetry of a Weyl chamber with positive entrop is found.

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.