Splitting types of the 27 lines on cubic surfaces

Frank Sottile and Thomas Yahl


 
Labs' cubic with 27 real lines By the Cayley-Salmon Theorem, every smooth cubic surface in P3 contains 27 lines (over an algebraically closed field). If the field F is not algebraically closed, then each line on a given smooth cubic is defined over some extension of F. This is easier to organize when the F is finite, as its extensions are determined by their dimension as a F-vector space. Because the action of the Frobenius map is cyclic on each extension, the action of Frobenius on the 27 lines is some permutation in S27, and its cycle type determines how many lines are defined over which extension. This is called the splitting type of the given cubic surface.
    The possible splitting types are of permutations that lie in the Weyl group E6, which is the Galois group of this problem of 27 lines. For each finite field F, there are only finitely many smooth cubic surfaces (smooth cubics are an open subset of the projective space P19, as homogeneous cubics in P3 have 20 monomials. Up to isomorphism, there are of the order of |F|4 cubic surfaces. It makes sense to consider the distribution of splitting types among all smooth cubic surfaces. By a result of Ekedahl, in the limit as |F| tends to infinity, this distribution becomes equal to that of the distribution of cycle types in E6.
    In an experiment conducted during Spring 2021, we computed the splitting types of many smooth cubic surfaces over quite a few primes. While purely curiosity-driven, this was reported on in our survey "Galois Groups in Enumerative Geometry and Applications".
Image courtesy of Olivier Labs

The computation used Singular for the heavy lifting, and the file we used is 27lines.sing. This file generates a cubic surface (by generating a random homogeneous cubic polynomial) over a given prime field. If it is smooth, then it computes the 27 lines and their splitting type. The algorithm works, but it is not pretty. (See algorithm at the bottom. In each run of 27lines.sing, it will compute the splitting type of many (e.g. 1 million) random smooth cubic surfaces, and write each to a separate line in the file Data.

To run this many times, we used a shell script runSingular.sh, typically in a subdirectory below that with 27lines.sing. When the computation for a given prime was finished, the python script Data_mine.py was called to summarize the result into a file that used maple objects (The other web pages were created using maple scripts, which also generated the plots). All the data from this computation are in the .tar file Data.tar. Enjoy.

Here are some .html pages that summarize the results. We were mostly interested in how the empirical distribution of cycle types converged to the distribution in E6 as the primes increased. All these pages have the discrepancy of the two, sometimes as a fraction, sometimes as a percentage, and sometimes as the logarithm of the absolute value.

  Distribution.html. This gives the discrepancy, for each cycle type.
  LogDistribution.html. This gives the logarithm of the absolute value of that discrepancy, for each cycle type.
  Some.html This is a table with all discrepancies for a selection of primes.
  All.html. This is a table with all discrepancies for all primes computed.

The algorithm. Given a smooth cubic surface, the algorithm chooses a dense open subset (chart) of the Grassmannian of lines in P3, and computes the lines in that chart. If there are not 27, it takes another random chart and repeats until it has 27 lines. Next, it computes a primary decomposition of the ideal of the lines. The algorithm does not simply call primary decomposition, but first tries to factor eliminants and branch, and at the very end it calls primary decomposition. The reason for this procedure is that it performed better than simply calling primary decomposition or using elimination.