Diagonal quartic surfaces

This is Martin Bright's page about diagonal quartic surfaces. This page contains various bits and pieces which you can download. It is not really prepared for general use, and certainly not documented; but there is a small chance that somebody might want to use the programs and data presented here, so I have made them available. The programs, and the descriptions of them here, won't make much sense without reading the thesis.

You can read my PhD thesis here; some other articles are here.

Magma programs

Here is a file which implements in Magma the algorithms for computing cohomology of the Picard group, both globally and locally.

The algorithm for computing the Galois groups involved is available separately here, with more comments.

GP scripts

These are some scripts for the GP interpreter, which implement the various algorithms I wrote to deal with the Picard groups of diagonal quartic surfaces.


The file subgroups-unique contains a single GP vector. The entries in this vector each describe a subgroup of the generic Galois group. The 546 subgroups correspond to the 546 possible cases listed in the thesis; the mapping of names (used in the thesis) to indices in the GP vector is given here.

The file pinch-list-cases is my version of Richard Pinch's list of surfaces. They are diagonal quartic surfaces which are everywhere locally soluble but have no rational point of small height. I have found rational points on some of the surfaces, which are given in this file. The others may or may not contain rational points - who knows? The surfaces are divided into cases; each case is preceded by a line giving the number of the case in the list of subgroups in subgroups-unique and the structure of the arithmetic part of the Brauer group for that case.

Update: July 2010 Stephan Elsenhans has found more points on some of these surfaces, recorded in an updated version of the list.

C programs

Finally, you can download my modified version of Dan Bernstein's sorted-sums package. I have taken the original carefully-crafted algorithm and modified it in a rather blunt way to use the PARI library. This was the easiest way to produce a program that did what I wanted; it's almost certainly not the best way and I make no claims about it being fast. There are obvious improvements which could be made by using local conditions. But it does list small points on diagonal quartic surfaces.

Martin Bright
Last modified: 8 July 2010