Forney algorithm

By design, the generator polynomial has consecutive roots αc, αc+1, ..., αc+d−2.

In the more general case, the error weights ej can be determined by solving the linear system However, there is a more efficient method known as the Forney algorithm, which is based on Lagrange interpolation.

First calculate the error evaluator polynomial[3] Where S(x) is the partial syndrome polynomial:[4] Then evaluate the error values:[3] The value c is often called the "first consecutive root" or "fcr".

Some codes select c = 1, so the expression simplifies to: Λ'(x) is the formal derivative of the error locator polynomial Λ(x):[3] In the above expression, note that i is an integer, and λi would be an element of the finite field.

The operator ⋅ represents ordinary multiplication (repeated addition in the finite field) which is the same as the finite field's multiplication operator, i.e. For instance, in characteristic 2,