For distinct elements of a finite field, a Reed-Solomon code consists of the evaluation vectors of polynomials with degree less than . It has dimension and minimum Hamming distance , so it is a maximum distance separable code. A nonzero polynomial has at most its degree many distinct polynomial roots. Primitive cyclic Reed-Solomon codes use all nonzero field elements, ordered as powers of a primitive root of unity; arbitrary evaluation sets need not give a cyclic code.
Let and let be a primitive root of unity in . The length- cyclic code with consecutive zeros of a cyclic code has dimension . It equals the generalized Reed-Solomon code of vectors , . The choice is the unweighted Reed-Solomon code on these evaluation points; allowing other offsets makes this family closed under dual codes.
With syndromes and distinct error-location values , form and the error locator polynomial . There is an error evaluator polynomial of degree less than the number of errors satisfying the key equation. When the number of errors is at most , the Berlekamp-Massey algorithm or extended Euclidean algorithm recovers these polynomials, normalized by .
For and , the two evaluation forms are and , with and . Their dot product is , since every appearing exponent is between one and and the sums of those powers of vanish. Comparing dimensions proves equality with the dual code. In particular, the dual of the unweighted evaluation code has multipliers ; it need not be an unweighted evaluation code on the same ordered points.
A generalized Reed-Solomon code consists of , where the evaluation points are distinct, all coordinate multipliers are nonzero, and . It remains a maximum distance separable code. Its dual code is another generalized Reed-Solomon code with dimension and multipliers proportional to .

Articles by others on the same topic (1)

Reed–Solomon error correction is a type of error-correcting code that is widely used in digital communications and data storage systems to detect and correct errors in data. It is named after Irving S. Reed and Gustave Solomon, who developed the code in the 1960s. ### Key Features of Reed-Solomon Codes: 1. **Block Code**: Reed-Solomon codes operate on blocks of symbols, rather than on individual bits.