Berlekamp's algorithm

This is an old revision of this page, as edited by Evpok (talk | contribs) at 14:00, 5 March 2013 (Overview). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In mathematics, particularly computational algebra, Berlekamp's algorithm is a well-known method for factoring polynomials over finite fields (also known as Galois fields). The algorithm consists mainly of matrix reduction and polynomial GCD computations. It was invented by Elwyn Berlekamp in 1967. It was the dominant algorithm for solving the problem until the Cantor–Zassenhaus algorithm of 1981. It is currently implemented in many well-known computer algebra systems, including PARI/GP.

Overview

Berlekamp's algorithm takes as input a square-free polynomial   (i.e. one with no repeated factors) of degree   with coefficients in a finite field   and gives as output a polynomial   with coefficients in the same field such that   divides  . The algorithm may then be applied recursively to these and subsequent divisors, until we find the decomposition of   into powers of irreducible polynomials (recalling that the ring of polynomials over a finite field is a unique factorization ___domain).

All possible factors of   are contained within the factor ring

 

The algorithm focuses on polynomials   which satisfy the congruence:

 

These polynomials form a subalgebra of R (which can be considered as an  -dimensional vector space over  ), called the Berlekamp subalgebra. The Berlekamp subalgebra is of interest because the polynomials   it contains satisfy

 

In general, not every GCD in the above product will be a non-trivial factor of  , but some are, providing the factors we seek.

Berlekamp's algorithm finds polynomials   suitable for use with the above result by computing a basis for the Berlekamp subalgebra. This is achieved via the observation that Berlekamp subalgebra is in fact the kernel of a certain   matrix over  , which is derived from the so-called Berlekamp matrix of the polynomial, denoted  . If   then   is the coefficient of the  -th power term in the reduction of   modulo  , i.e.:

 

With a certain polynomial  , say:

 

we may associate the row vector:

 

It is relatively straightforward to see that the row vector   corresponds, in the same way, to the reduction of   modulo  . Consequently a polynomial   is in the Berlekamp subalgebra if and only if   (where   is the   identity matrix), i.e. if and only if it is in the null space of  .

By computing the matrix   and reducing it to reduced row echelon form and then easily reading off a basis for the null space, we may find a basis for the Berlekamp subalgebra and hence construct polynomials   in it. We then need to successively compute GCDs of the form above until we find a non-trivial factor. Since the ring of polynomials over a field is a Euclidean ___domain, we may compute these GCDs using the Euclidean algorithm.

Applications

One important application of Berlekamp's algorithm is in computing discrete logarithms over finite fields  , where   is prime and  . Computing discrete logarithms is an important problem in public key cryptography. For a finite field, the fastest known method is the index calculus method, which involves the factorisation of field elements. If we represent the field   in the usual way - that is, as polynomials over the base field  , reduced modulo an irreducible polynomial of degree   - then this is simply polynomial factorisation, as provided by Berlekamp's algorithm.

Implementation in Computer Algebra Systems

Berlekamp's algorithm may be accessed in the PARI/GP package using the factormod command.

See also

References

  • Berlekamp, Elwyn R. (1967). "Factoring Polynomials Over Finite Fields". Bell System Technical Journal. 46: 1853–1859. MR 0219231. BSTJ Later republished in: Berlekamp, Elwyn R. (1968). Algebraic Coding Theory. McGraw Hill. ISBN 0-89412-063-8.
  • Knuth, Donald E (1997). "4.6.2 Factorization of Polynomials". Seminumerical Algorithms. The Art of Computer Programming. Vol. 2 (Third ed.). Reading, Massachusetts: Addison-Wesley. pp. 439–461, 678–691. ISBN 0-201-89684-2.