# How to calculate complex roots of a polynomial

Calculate all complex roots of the polynomial: $8t^{4} -20t^{3} -10t^{2}-5t-3$.

So thanks to matlab, I can easily find out that the roots are $t = 3, -0.5, \pm 0.5i$. Unfortunately, achieving this answer by hand has been more difficult. Apparently, one valid method is to try to guess one of the roots and then use it to divide the polynomial. I was able to verify that this results in $(x-3)(x+\frac{1}{2})(8x^{2}+2)$. However, even with the rational roots test and sythentic division, the "guess" part of the process is a little unappealing to me.

I came across another method which seemed more promising: creating such a matrix $\left( \begin{array}{cccc} -\frac{5}{3} & -\frac{10}{3} & -\frac{20}{3} & \frac{8}{3} \\ 1 & 0 & 0 & 0 \\0 &1 &0 &0 \\ 0&0&1&0 \end{array} \right)$, determining the eigenvalues, and calculating the reciprocal of each eigenvalue. When I attempt to use this method, I get $\lambda^{4} + \frac{5}{3} \lambda^{3} + \frac{10}{3}\lambda^{2} + \frac{20}{3}\lambda -\frac{8}{3}$ (confirmed with matlab). However, it doesn't appear the situation has improved much, as I am facing the same problem of calculating roots of another polynomial with degree $4$, right? Should I expect to eventually solve for $\lambda$ if I apply the method once again (to the new polynomial)?

Generally are there obvious problems with my understanding of the two approaches above? Would anyone recommend(considering my approximate level) using another method instead?

-
The rational root test is one of the best tests you have: it is reasonably fast on small polynomials and guaranteed to terminate. There is no shame in guessing when you've only got finitely many options; that's much better than you get in most situations. Otherwise, see en.wikipedia.org/wiki/Root-finding_algorithm . (The point of the matrix method is that you can find the largest eigenvalue in absolute value by repeatedly exponentiating the matrix.) –  Qiaochu Yuan Jan 11 '11 at 17:54

The matrix method does not simplify the matter at all (unless you have a mental block about polynomials but feel really comfortable about matrices; or unless you have some really cool method for finding eigenvalues that does not depend on the characteristic polynomial).

Not only did you still get a polynomial of degree $4$, you got essentially the same polynomial you started with! To see this, let $p(t)$ be your original polynomial, and let $q(\lambda)$ be the characteristic polynomial you found. Then you have: \begin{align*} -3q(\lambda) &= -3\lambda^4 - 5\lambda^3 -10\lambda^2 -20\lambda + 8\\ &= \lambda^4\left(-3 -5\left(\frac{1}{\lambda}\right) - 10\left(\frac{1}{\lambda^2}\right) - 20\left(\frac{1}{\lambda^3}\right) + 8\left(\frac{1}{\lambda^4}\right)\right)\\ &= \lambda^4p\left(\frac{1}{\lambda}\right) \end{align*}

That means that if $r$ is a root of $p(t)$, then $\frac{1}{r}$ is a root of $q(\lambda)$ (note that $r=0$ is not a root) and conversely; so finding the roots of the characteristic polynomial of the matrix is the same as finding the roots of your original $p(t)$.

This will always happen with this method: the matrix you write is essentially just the companion matrix of the original polynomial, so the characteristic polynomial will essentially be the original polynomial again (or perhaps a reversal of the powers, as above). But for any polynomial $p(x) = a_nx^n + \cdots +a_0$ with $a_na_0\neq 0$, the roots of $p(x)$ and the roots of $x^np(\frac{1}{x}) = a_n + a_{n-1}x + \cdots + a_0x^n$ are just reciprocals of each other, so finding roots for the former is essentially the same as finding roots for the latter.

Added: As Andres mentions and Qiaochu hints, it's possible that the change of perspective will let you more easily apply certain algorithms or theorems by going to the matrix rather than dealing with the polynomial directly. But my point is that the matrix method only affords you a change of perspective rather than a simplification or an essential change in the problem. You are still dealing with the same polynomial when everything is said and done.

The rational root method is pretty good for polynomials with relatively small integer coefficients; for polynomials of degree $3$ or $4$ you can always try the formulas by radicals (though they can be pretty annoying to actually use). There are other algorithms for finding, or at least approximating, roots of polynomials; the link Qiaochu gives in the comments is a good place to start.

-
There are some iterative algorithms that (at least in some cases) allow one to relatively quickly guess (some of) the eigenvalues of a matrix, so there may be something to the idea of using a matrix rather than the polynomial itself. –  Andres Caicedo Jan 11 '11 at 18:38
@Andres: Surely such methods can be translated into methods to be applied directly to the polynomial when the matrix is just the companion matrix. Of course, they can be rather involved in description in that case; my point is that the matrix only affords a change of perspective, rather than an actual simplification of the problem. –  Arturo Magidin Jan 11 '11 at 19:17
Oh, sure. As I said, "there may be something" to the idea of working directly with the matrix, but that something is not necessarily a simplification; there are fairly good iterative methods to approximate roots of polynomials, after all. –  Andres Caicedo Jan 11 '11 at 19:56