Description

Error-correcting codes allow for information to be encoded such that even if a number of errors occur during the transmission of a message, the original message may still be recovered. Linear codes of length \(n\) are subspaces of \(n\)-dimensional vector spaces over finite fields. Binary linear codes are therefore made of codewords which are length \(n\) strings of \(0\)s and \(1\)s (the elements of the finite field of two elements). The binary Hamming codes are classic examples of such codes, and the length seven binary Hamming code can transmit 16 different messages in such a way that any one symbol-error that occurs during transmission of the message can be corrected. It can be shown that no code of length seven which can correct a single symbol-error can encode more messages than this, and this code is known as a perfect code.

Starting from the binary Hamming code of length seven, which we may think of as a particular subspace of \(\mathbb{Z}_2^7\), we can construct an exceptional lattice in eight real dimensions, known as the \(E8\) lattice.

In general, a (real) lattice describes a discrete set of points in \(\mathbb{R}^n\), and we say the lattice has rank \(k\) if the lattice is the span of \(k\) linearly independent basis vectors. We may think of the lattice as dividing the underlying real space into cells, where the fundamental cell is the parallelepiped whose edges are described by the basis vectors. A lattice is integral if the inner product of any two basis vectors is an integer, and unimodular (or self-dual) if it is integral and the volume of the fundamental cell is equal to one.

Famous examples of unimodular lattices include the \(E8\) lattice mentioned previously, as well as the Leech lattice. As well as exhibiting many connections to interesting mathematical topics (including group theory, number theory and the mathematical physics of Conformal Field Theory and String Theory), the \(E8\) and Leech lattices are known to describe the most effective ways of packing (hyper)spheres into \(8\)- and \(24\)-dimensional space respectively (see here for an interesting and accessible article on this).

In this project we will first describe how binary codes can give rise to lattices, and discuss particularly important lattices known as root lattices. We will then discuss the classification of unimodular lattices in dimensions up to 24, and see how certain codes (including the famous extended binary Golay code, and the hexacode) appear in the construction of these lattices.

The Fano plane An animation of the construction of the laminated lattice A3. This picture shows a projection of the E8 root system into the Coxeter plane. Image by Jgmoxness.
On the left is the Fano plane, whose lines describe the weight 3 codewords of the length 7 binary Hamming code. The middle animation shows the first stage of the construction of the root lattice \(A_3\) as a laminated lattice. The image on the right shows a projection of the root lattice \(E_8\), which is the first unimodular lattice we discuss.

Prerequisites

Algebra II is a prerequisite for this project. Cryptography and Codes III will be beneficial to this project, but it is not a compulsory prerequisite. Students taking this project will also be expected to have a good understanding of linear algebra.

Resources