Chien search
In abstract algebra, the Chien search, named after R. T. Chien, is a fast algorithm for determining roots of polynomials defined over a finite field. The most typical use of the Chien search is in finding the roots of error-locator polynomials encountered in decoding Reed-Solomon codes and BCH codes.
[edit] Algorithm
We denote the polynomial (over the finite field GF(
)) whose roots we wish to determine as:
Conceptually, we may evaluate
for each non-zero
in GF(
). Those resulting in 0 are roots of the polynomial.
The Chien search is based on two observations:
- Each non-zero
may be expressed as
for some
, where
is a primitive element of
,
is the power number of primitive element
. Thus the powers
for
cover the entire field (excluding the zero element).
- The following relationship exists:
In other words, we may define each
as the sum of a set of terms
, from which the next set of coefficients may be derived thus:
In this way, we may start at
with
, and iterate through each value of
up to
. If at any stage the resultant summation is zero, i.e.
then
also, so
is a root. In this way, we check every element in the field.
When implemented in hardware, this approach significantly reduces the complexity, as all multiplications consist of one variable and one constant, rather than two variables as in the brute-force approach.
[edit] References
- Chien, R. T. (October 1964), "Cyclic Decoding Procedures for the Bose-Chaudhuri-Hocquenghem Codes", IEEE Transactions on Information Theory IT-10 (4): 357–363, ISSN 0018-9448
- Lin, S.; Costello, D. (2004), Error Control Coding: Fundamentals and Applications, Englewood Cliffs, NJ: Prentice-Hall
- Gill, John (unknown), EE387 Notes #7, Handout #28, Stanford University, pp. 42–45, http://www.stanford.edu/class/ee387/handouts/notes7.pdf, retrieved April 21, 2010

for some
, where
is a
,
for
cover the entire field (excluding the zero element).


