As a pleasant way to pass a Sunday afternoon — or at least, more pleasant than flat-hunting in Bristol in a wildly inflated property market — let me offer yet another way to prove the exceptional isomorphism . An earlier post uses modular representation theory to do in about a screenful of WordPress. Here we do it using the well known result that, up to position permutation, there is a unique perfect -error correcting linear binary code of length .

### The Hamming code

We define the –*Hamming code* to be the linear code of length and dimension with parity check matrix

Since each non-zero binary word of length appears exactly once as a column of , the syndromes for the possible one bit errors, namely

are distinct. Hence is -error correcting, and therefore has minimum distance . Since the disjoint Hamming balls of radius about the codewords each contain binary words of length , and , these balls partition . Therefore is a perfect -error correcting linear binary code.

**Lemma.** The automorphism group of is a subgroup of containing .

*Proof.* Each permutes the non-zero elements of . Let be the position permutation of the columns of induced by . For example,

and so in this case . (Since I am hyper-paranoid about such things, I will verify that is a homomorphism by comparing

with , where denotes the column permutation action.) Now writing for the permutation matrix of (acting on the right as usual when composing permutations left to right, so ), we have

for any . If then the left-hand side is

Therefore , and indeed the image of the homomorphism is a group of position permutations of . For instance, in the example above, and correspondingly, is a codeword in . Since the group homomorphism is injective, the lemma follows. .

Another nice way to prove the lemma is to calculate the words in of weight . By the definition above, these have non-zero entries in the positions

as shown below as the lines in the Fano plane .

### Quadratic residue codes

We may construct as where has minimal polynomial . The *binary quadratic residue code* of length is the cyclic code whose generator polynomial has as its roots the powers of corresponding to the quadratic residues modulo , namely , and . That is,

Since these roots are conjugate under the Frobenius automorphism of , the generator polynomial is the minimum polynomial of ; that is . Thinking of as the ideal of , we have if and only if . From this it is easy to see that has minimum weight and so, as before, is a perfect -error correcting binary code. (More generally, in a quadratic residue code of odd prime length , the minimum distance satisfies .) The same argument holds for the cyclic code whose generator polynomial is is defined using the non-residues modulo .

By the uniqueness result mentioned earlier, the codes , and are all equivalent. Fix a bijection .

We now identify the positions of with . Since is cyclic, the position permutation is an automorphism of . This gives one element of . To obtain the rest, we need the following two claim.

**Claim.** If then the position permutation preserves .

*Proof.* Thinking of as an ideal, we have if and only if , so if and only if . This deals with the case , and is obtained by squaring. .

**Claim.** If then the position permutation sends to . The position permutation and sends to .

*Proof.* For the first part, use that the generator polynomial for is defined using the non-residues modulo . The second part follows similarly, since is a root of if and only if is a root of .

We may therefore define an action of on by identifying the positions of codewords with and then applying the corresponding position permutation, followed by if (according to the second claim above), we end in rather than in . Using that is a simple group, we see this homomorphism is injective.

### Conclusion

We have shown that the automorphism group, say, of a perfect -error correcting linear binary code contains subgroups and isomorphic to the finite simple groups and of order . Setting we have . Since , and and , we have . Hence has index at most in . The coset action of on now gives a homomorphism ; since is simple and has elements of order , this homomorphism must be trivial. Therefore . Similarly . Hence and we have the required automorphism.