# Ternary Golay code

In coding theory, the ternary Golay codes are two closely related error-correcting codes. The code generally known simply as the ternary Golay code is an $[11,6,5]_{3}$-code, that is, it is a linear code over a ternary alphabet; the relative distance of the code is as large as it possibly can be for a ternary code, and hence, the ternary Golay code is a perfect code. The extended ternary Golay code is a [12, 6, 6] linear code obtained by adding a zero-sum check digit to the [11, 6, 5] code. In finite group theory, the extended ternary Golay code is sometimes referred to as the ternary Golay code.

## Properties
### Ternary Golay code

The ternary Golay code consists of 3$^6$ = 729 codewords. Its parity check matrix is
    $\left[{\begin{array}{cccccc|ccccc}2&2&2&1&1&0&1&0&0&0&0\\2&2&1&2&0&1&0&1&0&0&0\\2&1&2&0&2&1&0&0&1&0&0\\2&1&0&2&1&2&0&0&0&1&0\\2&0&1&1&2&2&0&0&0&0&1\end{array}}\right].$
Any two different codewords differ in at least 5 positions. Every ternary word of length 11 has a Hamming distance of at most 2 from exactly one codeword. The code can also be constructed as the quadratic residue code of length 11 over the finite field F$_3$ (i.e., the Galois Field GF(3) ).
Used in a football pool with 11 games, the ternary Golay code corresponds to 729 bets and guarantees exactly one bet with at most 2 wrong outcomes.
The set of codewords with Hamming weight 5 is a 3-(11,5,4) design.
The generator matrix given by Golay (1949, Table 1.) is
    $\left[{\begin{array}{cccccc|ccccc}1&0&0&0&0&0&1&1&1&1&1\\0&1&0&0&0&0&1&1&2&2&0\\0&0&1&0&0&0&1&2&1&0&2\\0&0&0&1&0&0&2&1&0&1&2\\0&0&0&0&1&0&2&0&1&2&1\\0&0&0&0&0&1&0&2&2&1&1\\\end{array}}\right].$
The automorphism group of the (original) ternary Golay code is the Mathieu group M$_{11}$, which is the smallest of the sporadic simple groups.

### Extended ternary Golay code

The complete weight enumerator of the extended ternary Golay code is
    $x^{12}+y^{12}+z^{12}+22\left(x^{6}y^{6}+y^{6}z^{6}+z^{6}x^{6}\right)+220\left(x^{6}y^{3}z^{3}+y^{6}z^{3}x^{3}+z^{6}x^{3}y^{3}\right).$
The automorphism group of the extended ternary Golay code is 2.M$_{12}$, where M$_{12}$ is the Mathieu group M$_{12}$.
The extended ternary Golay code can be constructed as the span of the rows of a Hadamard matrix of order 12 over the field F$_3$.
Consider all codewords of the extended code which have just six nonzero digits. The sets of positions at which these nonzero digits occur form the Steiner system S(5, 6, 12).
A generator matrix for the extended ternary Golay code is
    $\left[{\begin{array}{cccccc|cccccc}1&0&0&0&0&0&0&1&1&1&1&1\\0&1&0&0&0&0&1&0&1&2&2&1\\0&0&1&0&0&0&1&1&0&1&2&2\\0&0&0&1&0&0&1&2&1&0&1&2\\0&0&0&0&1&0&1&2&2&1&0&1\\0&0&0&0&0&1&1&1&2&2&1&0\\\end{array}}\right]=[I_{6}|B].$
The corresponding parity check matrix for this generator matrix is $[-B|I_{6}]^{T}$, where $T$ denotes the transpose of the matrix.
An alternative generator matrix for this code is
    $\left[{\begin{array}{rrrrrr|rrrrrr}1&0&0&0&0&0&0&1&1&1&1&1\\0&1&0&0&0&0&1&0&1&-1&-1&1\\0&0&1&0&0&0&1&1&0&1&-1&-1\\0&0&0&1&0&0&1&-1&1&0&1&-1\\0&0&0&0&1&0&1&-1&-1&1&0&1\\0&0&0&0&0&1&1&1&-1&-1&1&0\\\end{array}}\right]=[I_{6}|B_{\mathrm {alt} }].$
And its parity check matrix is $[-B_{\mathrm {alt} }|I_{6}]^{T}$.
The three elements of the underlying finite field are represented here by $\{0,1,-1\}$, rather than by $\{0,1,2\}$.
It is also understood that $2=1+1=-1$ (i.e., the additive inverse of 1) and $-2=(-1)+(-1)=1$. Products of these finite field elements are identical to those of the integers. Row and column sums are evaluated modulo 3.
Linear combinations, or vector addition, of the rows of the matrix
produces all possible words contained in the code. This is referred to as the span of the rows. The inner product of any two rows of the generator matrix will always sum to zero. These rows, or vectors, are said to be orthogonal.
The matrix product of the generator and parity-check matrices,
$[I_{6}|B_{\mathrm {alt} }]\,[-B_{\mathrm {alt} }|I_{6}]^{T}$, is the $6\times 6$ matrix of all zeroes, and by intent.
Indeed, this is an example of the very definition of any parity check matrix with respect to its generator matrix.

## History and Applications

The ternary Golay code was published by Golay (1949). It was independently discovered two years earlier by the Finnish football pool enthusiast Juhani Virtakallio, who published it in 1947 in issues 27, 28 and 33 of the football magazine Veikkaaja. (Barg 1993, p.25)
The ternary Golay code has been shown to be useful for an approach to fault-tolerant quantum computing known as magic state distillation.