A secret code
This is the Golay code
. Each row in this picture shows a string of 24 bits. There are 12 rows. If you look at any two rows, you'll see they differ in at least 8 places.
Here's how to get the Golay code. Take a 12 x 12 square of bits with all 0's except for 1's down the diagonal - you can see that at left here. Take another 12 x 12 square of bits that tells you when two faces of a dodecahedron share an edge: 0 if they do, 1 if they don't. Stick these squares together and you get the Golay code!
Some guys around here keep asking if the math I talk about is good for anything. In this case it is!
The Voyager 1 and 2 spacecraft needed to transmit hundreds of color pictures of Jupiter and Saturn in their 1979, 1980, and 1981 fly-bys. They had very little bandwidth, so they needed a good error-correcting code. They used the Golay code!
The point is that we can use the rows of this picture as code words. If we take some rows and add them - adding each entry separately, mod 2 - we get more code words. We get a total of 2^12 = 4096 code words.
These code words have a cool property: it takes at least 8 errors to turn any
code word into any other. So, we say the Hamming distance
between any two code words is at least 8. In fact, the Golay code is the only code with 12-bit code words where the Hamming distance between any two is at least 8.
There's a whole theory of codes like this, and this is an especially good one. You can transmit 12 bits of data with 24 bits... but since the Hamming distance between code words is big, someone can understand what you meant even if there are lots of errors! So, the Golay code is useful for transmitting data in a noisy environment.
But the reason I like the Golay code is that it has a big and important symmetry group. Its symmetry group is called M24
- one of the amazing things called Mathieu groups
. It has
24 x 23 x 22 x 21 x 20 x 48 = 244,823,040
elements. It's connected to many other symmetrical things in math: for example, it acts as symmetries of the Leech lattice
, the densest way to pack balls in 24 dimensions.
To be more precise, this code here is called the extended binary Golay code
. You can learn more about it here:https://en.wikipedia.org/wiki/Binary_Golay_codehttps://en.wikipedia.org/wiki/Mathieu_groupPuzzle:
I said the symmetry group of this code is M24. But what do I mean, exactly, by a 'symmetry' of this code?
The extended binary Golay code is not only good for outer space. In 1993, the US government issued standards for high frequency radio systems. They require using this code for "forwards error correction" in "automatic link establishment"! See page 51 here:http://hflink.com/standards/FED_STD_1045A.pdf