|
|
Line 1: |
Line 1: |
| In [[abstract algebra]], the '''Chien search''', named after R. T. Chien, is a fast algorithm for determining [[Root of a function|root]]s of [[polynomial]]s 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 code]]s and [[BCH code]]s.
| | Hello and welcome. My at home std testing name is [http://www.pornextras.info/user/G49Z over the counter std test] Figures Wunder. Since she was 18 she's been operating as [http://www.hooddirectory.com/how-you-can-cure-an-unpleasant-yeast-infection/ home std test] a receptionist but her promotion never comes. California is exactly where her house is but she requirements to [http://Www.Ranker.com/list/famous-people-with-herpes/celebrity-lists transfer simply] because of home std test her family members. at home std test What I love doing is taking part in baseball but I haven't produced a dime with it.<br><br>Also visit my site: [http://www.revleft.com/vb/member.php?u=160656 http://www.revleft.com/vb/member.php?u=160656] |
| | |
| ==Algorithm==
| |
| We denote the polynomial (over the finite field GF(<math>q</math>)) whose roots we wish to determine as:
| |
| | |
| :<math>\ \Lambda(x) = \lambda_0 + \lambda_1 x + \lambda_2 x^2 + \cdots + \lambda_t x^t </math>
| |
| | |
| Conceptually, we may evaluate <math>\Lambda(\beta)</math> for each non-zero <math>\beta</math> in GF(<math>q</math>). Those resulting in 0 are roots of the polynomial.
| |
| | |
| The Chien search is based on two observations:
| |
| | |
| * Each non-zero <math>\beta</math> may be expressed as <math>\alpha^{i_\beta}</math> for some <math>i_\beta</math>, where <math>\alpha</math> is a [[primitive element (finite field)|primitive element]] of <math>\mathrm{GF}(q)</math>, <math>i_\beta</math> is the power number of primitive element <math>\alpha</math>. Thus the powers <math>\alpha^i</math> for <math>0 \leq i < (q-1)</math> cover the entire field (excluding the zero element).
| |
| | |
| * The following relationship exists:
| |
| | |
| :<math>
| |
| \begin{array}{lllllllllll}
| |
| \Lambda(\alpha^i) &=& \lambda_0 &+& \lambda_1 (\alpha^i) &+& \lambda_2 (\alpha^i)^2 &+& \cdots &+& \lambda_t (\alpha^i)^t \\ | |
| &\triangleq& \gamma_{0,i} &+& \gamma_{1,i} &+& \gamma_{2,i} &+& \cdots &+& \gamma_{t,i}
| |
| \end{array}
| |
| </math>
| |
| | |
| :<math>
| |
| \begin{array}{lllllllllll}
| |
| \Lambda(\alpha^{i+1}) &=& \lambda_0 &+& \lambda_1 (\alpha^{i+1}) &+& \lambda_2 (\alpha^{i+1})^2 &+& \cdots &+& \lambda_t (\alpha^{i+1})^t \\
| |
| &=& \lambda_0 &+& \lambda_1 (\alpha^i)\,\alpha &+& \lambda_2 (\alpha^i)^2\,\alpha^2 &+& \cdots &+& \lambda_t (\alpha^i)^t\,\alpha^t \\
| |
| &=& \gamma_{0,i} &+& \gamma_{1,i}\,\alpha &+& \gamma_{2,i}\,\alpha^2 &+& \cdots &+& \gamma_{t,i}\,\alpha^t \\
| |
| &\triangleq& \gamma_{0,i+1} &+& \gamma_{1,i+1} &+& \gamma_{2,i+1} &+& \cdots &+& \gamma_{t,i+1}
| |
| \end{array}
| |
| </math>
| |
| | |
| In other words, we may define each <math>\Lambda(\alpha^i)</math> as the sum of a set of terms <math>\{\gamma_{j,i} | 0\leq j \leq t\}</math>, from which the next set of coefficients may be derived thus:
| |
| | |
| :<math>\ \gamma_{j,i+1} = \gamma_{j,i}\,\alpha^j</math> | |
| | |
| In this way, we may start at <math>i = 0</math> with <math>\gamma_{j,0} = \lambda_j</math>, and iterate through each value of <math>i</math> up to <math>(q-1)</math>. If at any stage the resultant summation is zero, i.e.
| |
| | |
| :<math>\ \sum_{j=0}^t \gamma_{j,i} = 0,</math>
| |
| | |
| then <math>\Lambda(\alpha^i) = 0</math> also, so <math>\alpha_i</math> 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.
| |
| | |
| ==References==
| |
| *{{Citation
| |
| |first= R. T.
| |
| |last= Chien
| |
| |title= Cyclic Decoding Procedures for the Bose-Chaudhuri-Hocquenghem Codes
| |
| |journal= IEEE Transactions on Information Theory
| |
| |volume= IT-10
| |
| |issue= 4
| |
| |pages=357–363
| |
| |date= October 1964
| |
| |url=
| |
| |issn= 0018-9448
| |
| |doi=}}
| |
| *{{Citation
| |
| |first= S.
| |
| |last= Lin
| |
| |first2= D.
| |
| |last2= Costello
| |
| |title= Error Control Coding: Fundamentals and Applications
| |
| |publisher= Prentice-Hall
| |
| |location= Englewood Cliffs, NJ
| |
| |year= 2004
| |
| |isbn=
| |
| |doi= }}
| |
| *{{Citation
| |
| |last=Gill
| |
| |first= John
| |
| |title= EE387 Notes #7, Handout #28
| |
| |year= unknown
| |
| |accessdate= April 21, 2010
| |
| |pages=42–45
| |
| |publisher= Stanford University
| |
| |url= http://www.stanford.edu/class/ee387/handouts/notes7.pdf
| |
| |doi=}}
| |
| | |
| [[Category:Error detection and correction]]
| |
| [[Category:Finite fields]]
| |
Hello and welcome. My at home std testing name is over the counter std test Figures Wunder. Since she was 18 she's been operating as home std test a receptionist but her promotion never comes. California is exactly where her house is but she requirements to transfer simply because of home std test her family members. at home std test What I love doing is taking part in baseball but I haven't produced a dime with it.
Also visit my site: http://www.revleft.com/vb/member.php?u=160656