Doubly even code 2026-10-14
// Target: algebra.bigb
Even-weight subcode of a binary linear code 2026-10-14
For a binary linear code , the linear functional records Hamming weight modulo two. Its kernel of a linear map is the even-weight subcode. If vanishes, this is all of ; otherwise rank-nullity theorem gives dimension . This also proves closure under addition without treating ordinary integer weight as a linear function.
Field with two elements Created 2026-10-20 Updated 2026-10-24
Hamming code of length seven 2026-10-14
The binary linear code known as the Hamming code of length seven is the kernel of a parity-check matrix whose columns are all the nonzero vectors of . Its dimension is four. No one-column or two-column sum vanishes, but some three-column sum does, so its minimum Hamming distance is three. The syndrome of a one-bit error is its column, uniquely identifying the erroneous position.
Orthogonal generators of doubly even codes 2026-10-14
Suppose the generators of a binary linear code have Hamming weights divisible by four and have pairwise zero binary inner products. Their linear span is doubly even: for any two vectors,The binary inner product says the intersection size is even. Induction on the number of generators in a sum proves divisibility by four.
// Target: algebra.bigb
Past exam of the mathematics course of the University of Cambridge 2002 iii Paper 30 2 Solution Created 2026-10-03 Updated 2026-10-14
For a binary linear code , define the linear functional . This is the parity of the Hamming weight, so the even-weight subcode of a binary linear code isIf , then . Otherwise its image is all of , and rank-nullity theorem gives . The kernel of a linear map is a linear subspace, proving the required dichotomy including closure under addition.
Let be a full-rank generator matrix. Messages correspond bijectively to codewords . If the th column is nonzero, the coordinate is a nonzero linear functional. Choose with . Translation pairs the messages with coordinate zero and those with coordinate one, so exactly codewords contribute one at position . Summing over the columns proves the total weight of a full-support binary linear code formulaA zero column would contribute zero instead, explaining the hypothesis.
For the Hamming code, use a parity-check matrix whose columns are all nonzero vectors of , once each. Then and . The sum of all columns is zero: each coordinate occurs as one exactly times, which is even for . ConsequentlyUnder this column labelling, the support of a vector of a codeword is identified with a set of distinct nonzero columns whose sum is zero. No one-column or two-column support of a vector has this property, confirming .
We can count the low-weight coefficients of a binary Hamming code directly. For weight three, choose ordered distinct nonzero columns in ways. The third must be , which is nonzero and different from both. Every unordered support of a vector has orderings, so .
For weight four, the first two columns are again distinct and nonzero. The third must avoid , giving possibilities. The fourth is ; it is nonzero because , and cannot equal any of the first three because those are distinct. Conversely every ordered zero-sum four-tuple arises in this way. Dividing by gives .
For weight five, the first three columns must be linearly independent. If , the sum condition would force the fourth and fifth to coincide. Thus there are choices for the first three. Put . The fourth column must avoid all seven nonzero vectors of their linear span: would repeat a column; would force the fifth column to be zero; and would force the fifth column to be , respectively. Conversely, if avoids these seven vectors, is nonzero and distinct from . This gives choices for and determines . Dividing by yieldsAt , the last count is zero, as the argument also shows.
The dual code is the row space of , so its codewords are for . For nonzero , the linear functional takes value one on exactly half the vectors of , by the same translation-pairing argument used above. Removing the zero vector removes only a zero value, so the Hamming weight is still . Since has matrix rank , distinct give distinct codewords. This proves the constant weight of a binary simplex code and its full distribution:In particular, the ordinary weight enumerator of the binary simplex code is .
Apply the MacWilliams identity to this dual code, whose size is . For , the result isThe coefficient of in the second product is a value of the binary Kravchuk polynomialsThese bounds merely enforce and . Since , they agree with the bounds in the PDF. Therefore the requested formula isFor a further check on the low-weight counts, givesThus , , and . Substituting these into the boxed formula and using reproduces the three direct combinatorial counts above.
Finally, at the only possible term in the defining sum has , so , because is even. ConsequentlyThe unique length- binary word of weight is the all-ones word, exactly as proved by the parity-check matrix calculation.
Past exam of the mathematics course of the University of Cambridge 2005 iii Paper 33 3 Solution Created 2026-10-03 Updated 2026-10-14
A binary block code of length is a nonempty subset . Its size is , the number of distinct codewords. The Hamming distance counts coordinates at which two words differ. The code's minimum Hamming distance is when there are at least two words. No pairwise minimum exists for a singleton code; it can be assigned as a convention when needed.
A binary linear code is a vector subspace of . If its dimension is , a generator matrix has a basis of as its rows, givingTo match the coordinate-row convention, take a parity-check matrix of size , with independent columns, and defineThe transpose is the usual parity-check matrix with one column per coordinate. By rank-nullity theorem, the displayed kernel has dimension . The two constructions agree when : the generator's row space lies in the parity-check kernel and has the same dimension, hence equals it. Conversely, for a given , choose the columns of as a basis of its dual code ; orthogonality and the dimension formula give exactly as the kernel.
For a nonzero linear code, is a nonzero codeword whenever are distinct codewords, and . Conversely compare any nonzero codeword with zero. Thus the minimum Hamming distance of a linear code is the least nonzero Hamming weight.
Write for the row associated with coordinate . A nonzero binary vector is a codeword exactly whenIts nonzero coordinate positions therefore index a linearly dependent set of rows. Conversely, a dependence among a set of rows has coefficients in , not all zero; putting these coefficients in the corresponding coordinates gives a nonzero codeword of weight no greater than the number of rows in that set. Taking minima in both directions proves the parity-check dependencies determine minimum distance criterion:Rows here are indexed by positions: equal row vectors at different positions are two distinct members of the indexed family. In the usual matrix convention, the same result refers to columns of . For the zero code, neither a nonzero codeword nor a dependent coordinate set exists, so both minima can consistently be interpreted as .
For the Hamming code, let , set , and let the rows of be all nonzero vectors of , each once. These rows include the standard basis, so has rank and the code has dimension and size . There is no dependence involving one row, because no row is zero, or two rows, because no rows are equal. For , any two distinct nonzero vectors have a distinct nonzero sum , which is another row. These three rows sum to zero. Thus for .
The perfectness of a Hamming code also has a direct decoding proof. Given any received word , its syndrome is . A zero syndrome means . Otherwise it equals exactly one row . The vector then has syndrome zero and is the unique codeword obtainable by changing one coordinate. There is no other codeword at distance at most one: its necessary correction would have to have the same syndrome, and among zero and all single-coordinate errors the syndromes are precisely the distinct vectors of . Therefore the radius-one Hamming balls about codewords partition .
Equivalently, each ball contains words; disjointness and show that none are uncovered. Hence every nondegenerate binary Hamming code is a perfect single-error-correcting code. For , the construction is the singleton code , whose one radius-one ball is also the whole ambient space. This deals with the degenerate boundary without falsely claiming its minimum distance is three.
Past exam of the mathematics course of the University of Cambridge 2005 ii Paper 2 4J Solution Created 2026-09-24 Updated 2026-10-14
A binary linear code of length is a vector subspace . The Hamming weight of a word counts its nonzero coordinates, and the code weight is ; for a linear code this equals its minimum distance. One may assign infinite minimum weight to the zero code when needed.
For length- codes with , the bar product of binary linear codes isIt is a linear code because this map from is linear and injective. For a nonzero codeword, if then and its weight is . If , every nonzero coordinate of makes exactly one of the corresponding coordinates of nonzero; henceTaking the minimum givesIn fact equality holds when the codes are nonzero: minimum-weight words and attain the two candidate weights.
Past exam of the mathematics course of the University of Cambridge 2006 iii Paper 30 4 Solution Created 2026-10-03 Updated 2026-10-14
Work over the finite field . The given factorization shows that divides , so it generates a length- cyclic code . Since , the vectors represented byform a basis: their distinct leading degrees prove their linear independence, and every multiple of representing a polynomial of degree below has a multiplier of degree at most . Hence is a binary linear code of dimension , containing codewords. The generator has Hamming weight seven, so the minimum Hamming distance of a linear code satisfies .
The BCH bound used here is the following consecutive-root theorem. If a length- cyclic code over , with relatively prime to , has a generator polynomial of a cyclic code vanishing at for a primitive th root , then its minimum Hamming distance is at least .
Choose a root of in an algebraic closure of . The factorization implies , while in , so . As is prime, has order . The Frobenius endomorphism preserves the roots of a polynomial with coefficients in : . Thus every is a root. In particular, shows thatare roots of . These four consecutive roots give by the BCH bound. A further argument is needed to exclude weights five and six.
Put . Cancelling in the supplied factorization gives . In the quotient ring , is invertible and every cyclic shift of equals . Since ,The coefficient of in this circular product is , the binary inner product of the coefficient vector of with a cyclic shift of itself. Every coefficient of is one. The circular autocorrelation of the binary Golay generator therefore implies that all pairs of basis rows , including equal rows, satisfy
Each has Hamming weight seven. Append its parity bit, which is one, and write . The extended rows have Hamming weight eight and satisfy . Their linear span is precisely the parity extension of , because the appended coordinate is the linear functional equal to the sum of all coordinates.
These extended generators produce a doubly even code. To prove this rather than assume it, useAll the extended generators have weights divisible by four. A sum of previous generators is orthogonal to the next generator, so the intersection size in this identity is even. Induction proves that every word in has Hamming weight divisible by four; this is the orthogonal generators of doubly even codes argument.
An original word of weight five acquires a parity bit and has extended weight six, while a word of weight six acquires a zero parity bit and still has extended weight six. Both contradict divisibility by four. Together with the BCH bound and the weight-seven generator, this completes the BCH and parity-extension proof of the binary Golay distance:
Past exam of the mathematics course of the University of Cambridge 2011 ii Paper 3 4G Solution Created 2026-09-24 Updated 2026-10-14
For a binary linear code , its rank is its dimension of a vector space . Use the weight enumerator conventionwhere is the Hamming weight. This convention is essential here: counts words of weight , rather than zero words. There are codewords, so .
There is only one binary word of weight , namely . Thus precisely when . If this holds, the linear map is a bijection of and replaces weight by ; hence . Conversely this symmetry gives , because the zero word is the unique word of weight zero.
The repetition code consists of , givingThe single parity-check code consists of all words of even weight. Exactly words have weight , so the binomial theorem gives
Self-orthogonal binary subspace 2026-10-14
A linear subspace is self-orthogonal if for every . The standard bilinear form is nondegenerate, whence and . The condition with means every vector has even Hamming weight. Such a binary linear code gives the linear algebra behind the Eventown theorem.
A length-, dimension- binary linear code has full support when no coordinate vanishes on every codeword, equivalently when the union of the supports of a vector of all codewords covers every coordinate. Every coordinate is then a nonzero linear functional on the message vector space . Translation by a vector on which it is one pairs the zero and one fibers, so exactly codewords contribute one in that coordinate. Summing these contributions proves the formula. If there are nonzero columns in a full-rank generator matrix, the same argument gives instead.