[Math] How to factor polynomials

algebra-precalculusfactoringpolynomials

I am wondering if there is a methodical, algorithmic, brain-dead way to factor polynomials. For example:

$x^6 – 14x^{5} + 73x^{4} – 188x^{3} + 256x^{2} – 176x^{1} + 48$

can be written as

$(x-1)^2 (x-2)^3 (x-6)$

But how do you actually get there?

Best Answer

The problem of factoring polynomials is in general difficult and/or labor-intensive, but for the sake of concreteness, I'll indicate one way to factor the example polynomial that uses a few methods (caution: these methods do not apply to all polynomials!).

The Rational Root Theorem says that any (reduced form) rational root $\frac{s}{t}$ of a polynomial $$p(x) := a_n x^n + \cdots + a_1 x + a_0$$ satisfies $s \mid a_0$ and $t \mid a_n$. In particular, if the polynomial is monic (i.e., $a_n = 1$) any rational root is in fact an integer, and all such roots are factors of $a_0$. In our case, the possible integer roots of $$q(x) := x^6 - 14x^{5} + 73x^{4} - 188x^{3} + 256x^{2} - 176x + 48$$ are just the factors of $48$.

There are, unfortunately, 20 of these (counting sign), but we can simplify our search considerably by observing that the signs of the coefficients of $q(x)$ alternate with degree, and hence the signs of $q(-x)$ are all the same (in this case positive). So, $q(-0) > 0$ and $q(-x)$ is increasing on $[0, \infty)$; hence all of the roots of $q(-x)$ are negative, or equivalently, all of the roots of $q(x)$ (rational or otherwise) are positive, reducing the list of integers to check by one-half.

If we start with the largest factors of $a_0 = 48$ and work down, we find that the largest root of $q$ is $6$, and so $(x - 6)$ is a factor of $q(x)$. Polynomial long division gives that $$q(x) = (x - 6) r(x) ,$$ where $$r(x) := x^5-8 x^4+25 x^3-38 x^2+28 x-8,$$ and we can see that by starting with the largest factors of $a_0$ we produce the smallest constant terms after polynomial long division, reducing more the list of possibilities to check at the next step. Indeed, $8$ only has four positive factors to check. (Of course, if you're checking this without calculator assistance, it is generally more computationally intensive to evaluate $p(x)$ for integers $x$ large in magnitude than ones small in magnitude, in which case working from largest to smallest need not be optimal.)

Checking shows that $r(8), r(4) \neq 0$, and so any integer roots of $r$ are $1$, $2$. On the other hand, for any polynomial $p$, the product of the roots (counting multiplicity) is $(-1)^{\deg p} a_0$. So if we know in advance that all of the roots of $q$ are integers, so are all the roots $b_j$ of $r$, and if the multiplicity of $2$ as a root of $r$ is $k$, the multiplicity of $1$ is $5 - k$, and by the above we have that $-(-8) = 1^{5 - k} 2^k = 2^k$. Thus, $k = 3$, and so we conclude that $$q(x) = (x - 6) (x - 2)^3 (x - 1)^2 $$ as desired. Note that this method only required evaluating a polynomial $8$ times and a carrying out a single polynomial long division (and again, knowing in advance that all of the roots of $p$ were integers).

Caution Several of the techniques here can only be applied when the given polynomial has certain properties. Most importantly, (1) not all roots of a real polynomial need be rational (indeed, none need be, as is the case for $x^2 - 2$), and (2) not all roots of a real polynomial need even be real (as in the case of $x^2 + 1$), and correspondingly, a polynomial need not be factorable over $\Bbb R$. In general, factoring a polynomial over $\Bbb Q$ or $\Bbb R$ is difficult and/or labor-intensive (and in the latter case there's a question of what form one wants). See the Wikipedia article, Factorization of Polynomials, for more information.

Related Question