The perfect Golay code [23,12,7] is most often seen in its extended version [24,12,8], with the added parity bit.
The extended Golay code has had a lot of practical applications. But why not the perfect version? I can't find anything in the literature about this, only explanations of how to build one from the other. I only see two advantages to the extended code:
- The codeword length is a multiple of 8 (3 bytes, instead of 23 bits)
- The minimum hamming distances of 8 allows the code to detect 4-bit errors while simultaneously correcting for 3 or less
This at the cost of sending slightly more bits. Why isn't the perfect Golay code used in practice?
It just seems odd to me that the only existing multiple bit correcting perfect code is modified to make it not perfect. The Hamming codes follow a similar pattern.
In any case, the extended codes give rise to very interesting structures, like the Leech lattice $\Lambda_{24}$, and $E_8$. Whereas the perfect codes don't (why?). How does the addition of a parity bit achieve this? I feel like I'm missing some important implications here.
While the word "perfect" suggests that the perfect Golay code $G_{23}$ is superior to all non-perfect codes, there are indeed quite a few desirable properties which the extended Golay code $G_{24}$ has and $G_{23}$ doesn't.
Maybe the single most important property: Self-duality. A basic prerequisite for a linear code to be self-dual is that its length is exactly twice its dimension. So $G_{23}$ fails already at this point, but the extension might have a chance. And indeed: The extended code $G_{24}$ turns out to be self-dual.
All the weights of $G_{24}$ are divisible by 4. As a result, it has only the five different weights 0, 8, 12, 16, 24 instead of the eight weights 1, 7, 8, 11, 12, 15, 16, 23 of $G_{23}$.
As already addressed in the question: In many regards, the highly divisible length $24$ is "nicer" than the prime length $23$. It opens the possibility for interesting decompositions of $G_{24}$ into equal/similar parts. For example, it admits a construction of a $12\times 24$ generator matrix built from $4\times 8$ generator matrices of $[8,4,4]$ extended Hamming codes: The generator matrices $$G_1 = \begin{pmatrix}1 & 0 & 0 & 0 & 0 & 1 & 1 & 1 \\ 0 & 1 & 0 & 0 & 1 & 0 & 1 & 1 \\ 0 & 0 & 1 & 0 & 1 & 1 & 0 & 1 \\ 0 & 0 & 0 & 1 & 1 & 1 & 1 & 0\end{pmatrix}$$ and $$G_2 = \begin{pmatrix}1 & 0 & 0 & 0 & 1 & 0 & 1 & 1 \\ 0 & 1 & 0 & 0 & 1 & 1 & 0 & 1 \\ 0 & 0 & 1 & 0 & 1 & 1 & 1 & 0 \\ 0 & 0 & 0 & 1 & 0 & 1 & 1 & 1\end{pmatrix}$$ both generate a $[8,4,4]$ Hamming code. Fascinatingly, the block matrix $$ G = \begin{pmatrix}G_1 & 0 & G_1 \\ 0 & G_1 & G_1 \\ G_2 & G_2 & G_2 \end{pmatrix}$$ generates an extended Golay code $G_{24}$.