Square-free polynomial

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In mathematics, a square-free polynomial is a polynomial defined over a field or, more generally, a unique factorization domain that is not a multiple of the square of a non unit factor. In the important case of univariate polynomials over a field k, this means that, f \in k[X] is square-free if and only if b^2 \nmid f for every polynomial b \in k[X] of positive degree.[1] In applications in physics and engineering, a square-free polynomial is commonly called a polynomial with no repeated roots (such polynomials are called separable, but over a perfect field that is the same as square-free).

A square-free decomposition or square-free factorization of a polynomial is a factorization into powers of square-free factors

f = a_1 a_2^2 a_3^3 \cdots a_n^n \,

where the ak that are not equal to 1 are pairwise coprime square-free polynomials.[1] Every non-zero polynomial with coefficients in a field admits a square-free factorization, which is unique up to the multiplication of the factors by non zero constants. The square-free factorization is much easier to compute than the complete factorization into irreducible factors, and is thus often preferred when the complete factorization is not really needed, like for the partial fraction decomposition and the symbolic integration of rational fractions. Square-free factorization is the first step of the polynomial factorization algorithms which are implemented in computer algebra systems. Therefore, the algorithm of square-free factorization is basic in computer algebra.

In the case of univariate polynomials over a field, any multiple factor of a polynomial introduces a nontrivial common factor of f and its formal derivative f ′, so a sufficient condition for f to be square-free is that the greatest common divisor of f and f ′ is 1. Over a perfect field, all irreducible polynomials are separable, so that condition is also necessary. If the polynomial is not square free, the product of the a_i in the above square free decomposition may be obtained as the quotient of f by its GCD with its derivative. Further GCD computations and exact divisions allow to compute the square-free factorization (see square-free factorization over a finite field). In characteristic zero, a better algorithm is known, Yun's algorithm, which is described below.[1] Its computational complexity is, at most, twice that of the GCD computation of the input polynomial and its derivative. More precisely, if T_{n} is the time needed to compute the GCD of two polynomials of degree n and the quotient of these polynomial by the GCD, then 2T_{n} is an upper bound for the time needed to compute the square free decomposition.

There are also known algorithms for the computation of the square-free decomposition of multivariate polynomials.[2]

Yun's algorithm[edit]

In this section we describe Yun's algorithm for the square-free decomposition of univariate polynomials over a field of characteristic 0.[1] It proceed by a succession of GCD computations and exact divisions.

The input is thus a non zero polynomial f, and the first step of the algorithm consists in computing the GCD a0 of f and its formal derivative f'.


f = a_1 a_2^2 a_3^3 \cdots a_k^k

is the desired factorization, we have thus

a_0 =  a_2^1 a_3^2 \cdots a_k^{k-1},

f/a_0 = a_1 a_2 a_3 \cdots a_k


f'/a_0 =  \sum_{i=1}^k i a_i' a_1 \cdots a_{i-1} a_{i+1} \cdots a_k.

If we set b_1=f/a_0, c_1=f'/a_0 and d_1=c_1-b_1', we get that

\gcd(b_1,d_1) = a_1,

b_2=b_1/a_1 = a_2 a_3 \cdots a_n,


c_2=d_1/a_1 = \sum_{i=2}^k (i-1) a_i' a_2 \cdots a_{i-1} a_{i+1} \cdots a_k.

Iterating this process until b_{k+1}=1 we find all the a_i.

This is formalized into an algorithm as follows:

 a_0:=\gcd(f,f'); \quad b_1:=f/a_0; \quad c_1:= f'/a_0;\quad d_1:=c_1-b_1'; \quad i:=1;
a_i:=gcd(b_i,d_i);\quad b_{i+1}:=b_i/a_i; \quad c_{i+1}:=d_i/a_i;\quad i:=i+1; \quad d_i:=c_i-b_i'; \quad
until b=1;
Output a_1, \ldots, a_{i-1}.

The degree of c_i and d_i is one less than the degree of b_i. As f is the product of the b_i, the sum of the degrees of the b_i is the degree of f. As the complexity of GCD computations and divisions increase more than linearly with the degree, it follows that the total running time of the "repeat" loop is less than the running time of the first line of the algorithm, and that the total running time of Yun's algorithm is upper bounded by twice the time needed to compute the GCD of f and f' and the quotient of f and f' by their GCD.


  1. ^ a b c d Yun, David Y.Y. (1976). On square-free decomposition algorithms SYMSAC '76 Proceedings of the third ACM symposium on Symbolic and algebraic computation, p. 26-35.
  2. ^ Gianni P., Trager B. (1996). Square-Free Algorithms in Positive Characteristic Applicable Algebra In Engineering, Communication And Computing, 7(1), p. 1-14.