Work over the finite field , and write for row of the PDF's matrix. The first row has Hamming weight eleven; all other rows have Hamming weight seven. To check their intersections economically, index the last eleven columns modulo eleven. The last eleven rows, after deleting the first column, are the successive cyclic shifts of the set . Direct calculation gives
The intersection sizes for equal those for . Thus two different rows among meet in four positions, including their shared first coordinate, whereas meets each of these rows in six positions. All these intersection sizes are even numbers, while each row weight is an odd number. Consequently . The first row and column agree, and the entry of the last eleven-by-eleven block depends only on the sum of its row and column indices modulo eleven, because successive rows are left shifts. Thus is a symmetric matrix, so .
The generator matrix has rank twelve, and
Hence its linear code lies in its dual code . Both have dimension twelve, so : it is a self-dual code. Moreover , and is an invertible matrix, so this is another generator matrix for the same code. In the column parity-check matrix convention of the question,
The matrix has rank twelve, so its nullspace condition characterizes exactly.
To prove the minimum Hamming distance, first observe that the rows of have Hamming weights twelve and eight. For binary vectors,
Every partial sum of generator rows is orthogonal to every further generator row, by . Its intersection with that row therefore contains an even number of positions. Induction using this identity proves that every codeword has weight divisible by four: is a doubly even code.
The systematic-matrix proof of extended Golay distance now excludes weight four. Write a codeword as and put . If its total weight were four, . For , the right half is a row of and has weight seven or eleven. For , the right half is the sum of two distinct rows; the intersection counts above give weight or . For , the right half would be a unit vector, but then would be a row of , of weight seven or eleven. For , the right half would vanish, contradicting invertibility of . Thus no nonzero word has weight four. Every nonzero weight is consequently at least eight, and any generator row other than the first attains eight. Since the minimum Hamming distance of a linear code is its least nonzero weight,
Define the length- binary Golay code as the punctured code obtained by deleting the first coordinate of this extended binary Golay code. This puncturing is injective on , because a nonzero word in its kernel would have weight one. Thus , and deleting one coordinate gives . The sum of the first two generator rows has weight eight and first coordinate one, so its puncture has weight seven. Therefore . In fact any coordinate can be punctured: every left coordinate except the first occurs in a weight-eight generator row, the first occurs in the sum just used, and every right coordinate occurs in at least one of the weight-eight generator rows.
The radius-three Hamming balls around the words of are disjoint, since two centers in intersecting balls would have Hamming distance at most six. Each ball contains
words. Their combined size is , the size of the entire binary Hamming space. Hence
For decoding in , write the received word as , where is the unknown error in its two halves. Its syndrome is
Let denote the length-twelve unit vector. For bounded-distance decoding, the three-error syndrome decoding of extended Golay code is the following finite search, returning the first successful candidate error:
  • If , return .
  • Otherwise, if some satisfies , return .
  • Otherwise, compute ; if , return .
  • Otherwise, if some satisfies , return .
  • If no test succeeds, declare that no error of weight at most three has this syndrome.
Every returned candidate has total Hamming weight at most three and the required syndrome. Conversely, an error of total weight at most three has a half of weight zero or one. The tests exhaust respectively , , , and , so they find every such error. Two distinct successful candidates would differ by a nonzero codeword of weight at most six, contradicting . Thus the result is unique, and the decoded word is . The condition still allows the first test when the weight is exactly three; for larger syndrome weight begin with the second test. A large syndrome weight alone does not imply more than three errors.
The decoder corrects every error of weight at most three; failure means that the received word is outside all radius-three decoding balls. Unlike its puncture, is not a perfect code: its radius-three balls cover only words. Without the three-error assumption, a successful test identifies a nearby codeword but need not identify the transmitted word.
For an arbitrary received word, a complete minimum-distance decoding fallback is to enumerate and minimize . Every error with the observed syndrome has exactly the form , so a minimizer gives a nearest codeword . Report all minimizers if there is a tie. This also decodes outside the guaranteed radius in the nearest-word sense, while making no unsupported claim that the transmitted word is determined. Thus a syndrome of weight at least three alone is insufficient for guaranteed recovery; either the three-error hypothesis or a choice among nearest words is needed.
Represent a word in the Hamming space by the polynomial . A cyclic code is a linear code invariant under the cyclic coordinate shift . Under this identification the shift is multiplication by modulo . A shift-invariant vector subspace is closed under multiplication by every polynomial, since such multiplication is a linear combination of shifts. It is therefore an ideal of
Conversely every ideal of is a vector subspace closed under multiplication by , hence a cyclic code. Invariance means equality under the shift, since applying it times is the identity.
Let be the inverse image of the code ideal under the quotient map . It contains and is nonzero. Choose a nonzero element of of smallest degree and scale it to a monic polynomial . For any , polynomial division gives with . Since , minimality forces . Thus and in particular
This is the required generator polynomial of a cyclic code; the divisibility direction in the printed formula is reversed. The quotient-ring modulus is , with denoting the multiplicative identity of the finite field. If , every codeword has a unique representative with . Indeed reduction of modulo gives this form, and two such products cannot differ by a nonzero multiple of because their difference has degree less than . Therefore
For the zero code the convention is and this basis is empty; for the full word space .
The zeros of a cyclic code are the polynomial roots of in a splitting field of . Suppose first that the characteristic of does not divide . The formal derivative of is , which has no common root with ; all roots of are therefore simple. If they are , then is equivalent to for all . A root-evaluation parity-check matrix of a cyclic code, written with checks as rows, is consequently
Its entries may lie in , rather than in the original finite field. To obtain a parity-check matrix over , choose a basis of over and replace each equation by the equations for all of its field coordinates. The resulting matrix has the same kernel , hence rank ; retain any independent rows. More economically, choose one root from each Frobenius conjugate orbit. For , , so checking one representative checks its whole orbit. Expanding that representative's equation in a basis of gives precisely the number of checks equal to its orbit length.
No coprimality hypothesis is stated in the question, so the repeated-root cyclic code case must also be distinguished. Distinct roots alone cannot determine these codes: in , the generators and have the same zero, but generate codes of dimensions one and zero. In general write in . The correct checks are
using Hasse derivatives. Indeed , so vanishing of the first coefficients is equivalent to divisibility by . A repeated-root parity-check matrix over thus has rows indexed by and entries
As before, expand to equations over and retain independent rows. The ordinary root-evaluation matrix is exactly the special case .
For the binary Hamming code, let , , and let generate the multiplicative group of a finite field . This is possible because that group is a cyclic group. Choose a basis of over . The coordinate columns of then run through every nonzero vector of exactly once. They are a parity-check matrix for a Hamming code, possibly after permuting the columns of a given Hamming matrix. Thus
is equivalent to the Hamming code. Multiplication by modulo multiplies its evaluation at by , so is a cyclic code.
The parity-check matrix has rank because its columns contain a basis. It has no zero column or repeated column, so no nonzero word of weight one or two is in its kernel. Two distinct nonzero columns have a nonzero sum, which is a third distinct column; these three columns give a word of weight three. Hence has parameters .
A polynomial over vanishes at exactly when it is divisible by its minimal polynomial of an algebraic element . The finite-field Frobenius automorphism gives all conjugates of as . Their orbit length is : if with , then the order of would divide , which is a smaller positive integer. Therefore the Hamming code as a cyclic code has
The last exponent here is . The printed exponent would give , which is not a root of the degree- irreducible minimal polynomial of an algebraic element for .