Berlekamp-Massey algorithm


The Berlekamp-Massey algorithmMathworldPlanetmath is used for finding the minimal polynomialPlanetmathPlanetmath of a linearly recurrent sequenceMathworldPlanetmath. The algorithm itself is presented at the end of this article.

Definition 1.

Suppose the infiniteMathworldPlanetmathPlanetmath sequence a with elements from a field K has the property that there exist constants c1,,ck in K such that, for all t>k,

at=at-1c1+at-2c2++at-kck.

Then a is called a linearly recurrent sequence.

Definition 2.

Given a linearly recurrent sequence a, suppose c0ckK with c00 satisfy, for all t>k,

c0at=at-1c1+at-2c2++at-kck.

Then the polynomialPlanetmathPlanetmath

c0xk-c1xk-1-c2xk-2--ck

is called an annihilatorMathworldPlanetmathPlanetmath for a.

Proposition 1.

The annihilators of a form an ideal of K[x].

Definition 3.

Since K[x] is a principal ideal domainMathworldPlanetmath, the ideal of a’s annihilators have a unique monic generator of minimalPlanetmathPlanetmath degree. This annihilator is called the minimal polynomial of a.

To find the minimal polynomial, we need to be given an upper bound m on its degree; having done so, the minimal polynomial is uniquely determined by the first 2m elements of a (since we need to get m equations to solve for the unknowns c1,cm).

There is another way to determine the minimal polynomial, originally presented by Dornstetter, which uses the Euclidean AlgorithmMathworldPlanetmath. It can be shown that the characteristic polynomialMathworldPlanetmathPlanetmath of a sequence is the unique monic polynomial C(x) of least degree for which the infinite product

C(x)(a1+a2x+a3x2+)

has finitely many nonzero terms. (In fact, the nonzero terms will have coefficients up to xk-1 where k is the degree of C).

We can rewrite this as

C(x)(a1+a2x++a2mx2m-1)-Q(x)x2m=R(x)

where R(x) is a remainder polynomial of degree ¡ m, and Q(x) is a quotient polynomial. Denote by A(x) the sum Σi=12maixi-1.

This is where the Euclidean Algorithm comes in; if we take the GCD of A(x) and x2m, keeping track of remainders, we get two sequences Pi(x),Qi(x) such that

Pi(x)A(x)-Qi(x)x2m

forms a series of polynomials whose degree is decreasing; as soon as this degree is less than m, we have the needed polynomials with C=Pi,Q=Qi.

There is more info about the Extended Euclidean Algorithm in “Modern Computer Algebra” by von zur Gathen and Gerhard.

(Berlekamp’s algorithm proper to come)

The original algorithm is from Algebraic Coding Theory by Elwyn R. Berlekamp, McGraw-Hill, 1968. Its application to linearly recurrent sequences was noted by J.L.Massey, in “Shift-register synthesis and BCH decoding”, 1969.

Title Berlekamp-Massey algorithm
Canonical name BerlekampMasseyAlgorithm
Date of creation 2013-03-22 14:28:55
Last modified on 2013-03-22 14:28:55
Owner mathcam (2727)
Last modified by mathcam (2727)
Numerical id 7
Author mathcam (2727)
Entry type Definition
Classification msc 15A03
Classification msc 11B37
Related topic RecurrenceRelation
Related topic MapleImplementationOfBerlekampMasseyAlgorithm
Defines linear recurrent sequence
Defines minimal polynomial of a sequence
Defines annihilator