# Finding the real roots of a polynomial

Recent posts on polynomials have got me thinking.

I want to find the real roots of a polynomial with real coefficients in one real variable $x$. I know I can use a Sturm Sequence to find the number of roots between two chosen limits $a < x < b$.

Given that $p(x) = \sum_{r=0}^n a_rx^r$ with $a_n = 1$ what are the tightest values for $a$ and $b$ which are simply expressed in terms of the coefficients $a_r$ and which make sure I capture all the real roots?

I can quite easily get some loose bounds and crank up the computer to do the rest, and if I approximate solutions by some algorithm I can get tighter. But I want to be greedy and get max value for min work.

-
Maybe not the best you can do, but roots $\lambda$ of $p$ satisfy $|\lambda| \le \max(|a_1|, \ldots, |a_n|)$ (works when $a_n = 1$), so it gives you something to work with. –  Joel Cohen Jun 30 '11 at 20:36

What counts as "simply expressed"? The Fujiwara bound on the magnitude of all the roots (complex ones included) is certainly a very good starting point. I used it for a solution to a codegolf.SE problem involving complex roots and found it perfectly good enough for that context.

-
I asked my first question. I learned something. That's a good link. –  Mark Bennet Jun 30 '11 at 20:48
5. The base case for recursion is a line. Here, $y=ax+b$ and the zero is $-\frac{b}{a}$.