\addtolength\textwidth0mm\addtolength\hoffset0mm\addtolength\textheight0mm\addtolength\voffset0mm\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long\global\long

Wehler K3 surface – Picard 4

In this 2016 article Automorphisms of surfaces in a class of Wehler surfaces with Picard number 4, Prof. Baragar studies automorphisms of the Wehler K3 surface with Picard number 4.

The K3 surface under study has a Néron-Severi group isomorphic to the integral lattice with Gram matrix

J=[0220202122010112]

with respect to a fixed basis. Before proceeding further, note that Baragar uses the convention that elements MO(NS(X)) satisfy MtJM=J while we use the convention that an elements MO(NS(X)) instead satisfy MJMt=J.

In what follows, we thus took the transpose of all the matrices involved in Baragar’s article.

In this article, Baragar states that σ1,σ2,σ3,σ4 is a finite index subgroup of Aut(X) and denotes by σi the action of these automorphisms on the Néron-Severi group of X. In terms of matrices, Baragar provides a precise characterization regarding σ2 and σ3 :

σ2=[1000212000101001],σ3=S2σ2S2=[1000010022101001] where S2=[1000001001000001].

Regarding σ1 and σ4, Baragar narrows down the range of possibilities as follows :

  • Prof. Baragar states that either σ1=T1 or that σ1=S1T1,
  • Prof Baragar states that either σ4=T4 or that σ4=S1σ3T4,

where the matrices T1,S1 and T4 are defined as :

T1=[1220010000101111],S1=[1000010000101001] and T4=[1804010028140001]

That is, either σ1=T1=[1220010000101111]orσ1=S1T1=[1220010000100111] and either σ4=T4=[1804010028140001]orσ4=S1σ3T4=[18040100010140001]


We use the Poolized Borcherds method to clarify the situation regarding the automorphism group of Baragar’s Wehler K3 surface with Picard number 4.

Doing so will enable us to obtain a precise answer regarding σ1 and σ4.

As explained here, the preliminary input required consists of a Gram matrix of NS(X), of vectors that define an embedding of NS(X) into L=UE8(1) and of an initial ample class.

If you are currently on the demo server, or if you downloaded our archive containing the folder ThesisPrograms, please open a Sage console and proceed as follows :

INPUT_DATA = load('INPUT_DATA/DEMO/INPUT_DATA_WEHLER_PICARD_FOUR.sobj')

Load init_emb to set up the initial environment for the Borcherds’ method :

load('init_emb.sage')

Note that the ample class [10000,2200,6000,500] we provided in input data is ridiculous.

We will find another class with more “realistic” coefficients.

Load proj_mod, and let’s use AmpTester to find another ample class.

Let’s try [100,22,60,5] :

load('proj_mod') ;
AmpTester(Matrix([100,20,60,5]))

Fine. Let’s define :

INPUT_DATA[2] = Matrix([100,20,60,5])

and load init_emb again :

load('init_emb.sage')

We are ready to take off.

First, we start by checking whether applying the Borcherds’ method to the K3 surface under study will provide a generating set of Aut(X). Load ker_checker :

load('ker_checker.sage')

Great.

The Borcherds method will provide.

Load degentest to determine whether we have in hand a nondegeneratePL-chamber inducing a PS-chamber contained in Nef(X)PS which can be used as starting point by the method for its exploration of the chamber structure over Nef(X)PS.

load('degentest.sage')

Our initial embedding has to be updated.

To this end, we load our modernized version of Shimada’s embedding update procedure :

load('emb_updater2.sage')

The mechanics behind this procedure are explained in section 1.8.3 of our thesis.

The further the procedure progresses, the fewer obstructions there are (again, please take a look at section 1.8.3 of our thesis for more details) :

The procedure finally obtains an updated embedding :

Let’s apply degentest again :

load('degentest.sage')

Great! We are ready to launch the Borcherds method!

Assign the strings of your choices for the variables text1 and text2, which will be used to personalize the name of the files produced by the method :

text1 = str('Wehler_picard_4')
text2 = str('Baragar')

Since we are running the program on our demo server, we only have 8 cores at our disposal. Using a Pool of 8 worker processes will be OK. Set :

nb_workers = 8

We then launch the Poolized Borcherds’ method (process-based parallelism with Pool) :

load('borcherds.sage')
Note that I forgot to set nb_cores = 8, so only four cores will be used simultaneously for parallelized actions, i.e., no more than four worker processes…

Since we don’t like waiting, we also launched the computation on must faster machine than the demo server, with an allocation of 20 workers. Here is the result :

Allocating 20 workers was probably overkill since there are only 424, and perhaps en counterproductive in terms of performance. Remark: Using the words “logical cores” is not rigorous; we should have used “workers” instead.

The Borcherds’ method thus returns that a generating set of Aut(X) is given by

g1=[1000212000101001],g2=[1000010022101001],g3=[1220010000100111], g4=[1084218400101083],g5=[1804010028141803], that the union of the 424 representatives of congruence classes of chambers is a fundamental domain of the action of Aut(X) onto Nef(X)PS and that there are at most two orbits of smooth rational curves with representatives [1,0,0,1]and[0,0,0,1].

Before focusing on Baragar’s study, let’s apply our program fundamentalizer in the hope that interesting data regarding the above-mentioned fundamental domain can be extracted :

load('fundamentalizer.sage')

The program fundamentalizer will start a thorough analysis of the walls of the chambers forming the fundamental domain to identify its boundary walls.

This analysis will enable fundamentalizer to determine whether a convex cone can be associated with the fundamental domain. The program will return a Hilbert basis of the fundamental domain when this is the case.

We thus obtain that [[0,1,0,0],[0,0,1,0],[1,2,0,1],[1,0,2,1],[1,0,0,0],[0,0,2,1],[0,2,0,1], [1,3,1,2],[1,1,3,2],[1,1,3,2],[1,3,1,2],[1,2,2,2],[1,2,2,2],[0,1,1,1],[1,1,1,1] is a Hilbert basis of the convex cone associated to the fundamental domain returned by the Borcherds’ method, with intersection matrix [021525126624433205121562264433152104146122012481610651102461420124128161062244044888888445114642101241220168610156144102412201216861026122081244122820248816622012841212420282488166212481220282041282416826412820122028124824168448881616242488824168441616888882424248816331010466881616168610336641010161688816106]. Note that all coefficients of this matrix are superior or equal to zero, as expected for an Hilbert basis of a portion of the Nef cone. We thus obtained an Hilbert basis of a chunk of the Nef cone. Possessing such data can be useful in a lot of situations !

We now return to Baragar’s study of the automorphism group of this Wehler K3 surface.

We will try to find an answer regarding each transformation σi described by Baragar.

Baragar indicated that σ1 is either T1 or S1T1.

Taking a look at the generating set g1,g2,g3,g4,g5 returned by the Borcherds’ method, we see that S1T1=g3. Thus, σ1=g3.

What about T1 ? It is clear that if σ1 is an automorphism, then the image σ1 of its action on NS(X) cannot be represented by two distinct matrices!

Since we just saw that σ1=S1T1, we must have T1Aut(X).

Let’s use our function AutTester to check whether T1 fulfills all the requirements for it to be an element of Aut(X).

In case the outcome of this test is False, Prof. Baragar’s interrogations regarding T1 will be settled.

T1 = Matrix([[-1,2,2,0],[0,1,0,0],[0,0,1,0],[-1,1,1,1]])
AutTester(T1)

Thus, the matrix T1 clearly cannot be an element of Aut(X).

The Borcherds’ method enables us to assert that Baragar was right regarding σ1, since he did indicate that there were two possibilities and that the question had to be settled in this framework. We thus have

σ1=S1T1Aut(X).

About σ2, we immediately see that σ2=g1 where g1 is the first generator in the generating set returned by the Borcherds’ method.

Again, Baragar was on point.

Similarly, Prof. Baragar’s automorphism σ3 can be immediately identified as the generator g2 returned by the Borcherds’ method.

Regarding σ4, he indicated that either σ4=T4 or σ4=S1σ3T4.

We have S1σ3T4=[18040100010140001]

Let’s determine which one of these transformations satisfies the conditions required for it to be an element of Aut(X) :

AutTester(T4)

We can thus assert with total certainty that T4 is not an element of Aut(X).

Testing the element S1σ3T4 with AutTester must return true. Let’s check if this is indeed the case :

AutTester(S1*sigma3ast*T4)

Let’s prove it by expressing S1σ3T4 as a product of the generators gi returned by the Borcherds’ method.

At first glance, we cannot decide on this transformation. Let’s dig deeper.

Let’s try a brute force approach. Define

GID = GAMMA + [q.inverse() for q in GAMMA] + [matrix.identity(4)]   

and remove the eventual duplicates by using the function duplikiller :

GID = duplikiller(GID)

Compute the set of words of length 6 in the free group generated by the elements of GID :

WORDS=[(a,b,c,d,e,f,a*b*c*d*e*f) for a in GID for b in GID for c in GID for d in GID for e in GID for f in GID] 

We now check whether S1σ3T4 can be found in this set of words :

S1*sigma3ast*T4 in [q[6] for q in WORDS]

Great! Let’s retrieve the expression of this transformation as a product of the generators :

That is, S1σ3T4=g14g2g5 and since g14=Id, we obtain σ4=S1σ3T4=g2g5.

Thus, the group generated by σ1,σ2,σ3,σ4 (studied by Baragar) can be expressed as g3,g1,g2,g2g5 in terms of the generators of Aut(X) provided by the Borcherds’ method.

The latter enables us to assert that a full generating set of the automorphism group of this Wehler K3 with Picard number 4 is given by Aut(X)g1,g2,g3,g4,g5 with g1=[1000212000101001],g2=[1000010022101001],g3=[1220010000100111], g4=[1084218400101083],g5=[1804010028141803].