A binary cyclic code of odd length is an ideal of . For a primitive th root , its defining set is the set of powers at which every code polynomial vanishes. A BCH code of design distance has consecutive powers
in its defining set.
If a nonzero codeword had weight , write it as . Evaluation at consecutive defining roots gives a homogeneous Vandermonde system in the nonzero values . Its determinant is nonzero because the support elements are distinct. Thus every would vanish, a contradiction. This proves the BCH bound
Let be a primitive th root of unity in an extension of , where . A BCH code of length , initial exponent , and design distance is the cyclic code whose generator polynomial is the least common multiple over of the minimal polynomials of
Thus every codeword polynomial vanishes at these consecutive powers.
Suppose a nonzero codeword has weight , with
where the positions are distinct modulo and every is nonzero. The first root conditions give
The coefficient matrix is a Vandermonde matrix in the distinct elements , followed by multiplication of its columns by the nonzero factors . Its determinant is therefore
Hence all would be zero, a contradiction. The minimum distance consequently satisfies .
A code of minimum distance detects every pattern of at most errors and uniquely corrects every pattern of at most errors, because Hamming balls of that radius are disjoint. A BCH code of design distance is therefore guaranteed to detect errors and to correct
errors; its actual capabilities may be larger if .