We outline the Berlekamp factorisation algorithm for factoring polynomial in . The efficiency of this algorithm is bases on the efficiency of computing greatest common divisors in by the Euclidean Algorithm and on the efficiency of row-reduction matrix algorithms for solving systems of linear equations.
Let be a monic polynomial of degree and let where are powers of distinct monic polynomials in . We know that it suffices to determine the factors , since the original irreducibles can be determined from their powers using the th powers and by computing greatest common divisors with derivatives.
Lemma: Let be any polynomial of degree . Denote to be the remainder of after division by . The following statements are equivalent.
divides
divides , for .
For each there is an such that divides , or .
The proof of this actually, relies on primary ideals, which i thought was neat.
Lemma: The polynomials of degree satisfying the equivalent conditions of the previous lemma form a -vector space, call it , of dimension . The proof of this theorem relies on the Chinese Remainder Theorem for Rings.
Lemma: Let . For let $$R(x^{pj}) = \sum_{m = 0}^{n-1}a_{m, j}x^m,$$and let be the matrix $$A = \begin{pmatrix}a_{0,0} & a_{0,1} & \cdots & a_{0, n-1} \ a_{1,0} & a_{1,1} & \cdots & a_{1, n-1} \ \vdots & \vdots & \ddots & \vdots \ a_{n-1, 0} & a_{n-1, 1} & \cdots & a_{n-1, n-1} \end{pmatrix}.$$ iff , where is the column matrix with entries . This means that the rank of the matrix is , and, consequently, this already suffices to determine if is irreducible, without actually determining the factors.
Berlekamp's Algorithm: Let be a basis of solutions for , a basis for , where we may take . Beginning , we compute the greatest common divisor for and for every factor of already computed. The process terminates when relatively prime factors have been determined.