[R] How to find a root for a polynomial between [-inf, -3]?

Petr Savicky savicky at cs.cas.cz
Thu Apr 19 19:03:53 CEST 2012


On Thu, Apr 19, 2012 at 08:59:34AM -0500, Michael wrote:
> Hi all,
> 
> I have a polynomial (a big one) and I would like to find a root of it
> between [-inf, -3] (it's known there is one root in this interval)...
> 
> How to find that root?
> 
> In using "uniroot" I need to supply the bounds....

Hi.

Is the polynomial monotone in [-Inf, -3]? If it is, then it should
not be too hard to find suitable bounds. An upper bound is -3. A lower
bound may be derived analytically from the bounds on the coefficients,
if you have some. Otherwise, derive a bound from the ranges of double
values. The smallest negative double value is approximately -1.79e+308.
The polynomial probably cannot be evaluated in this number, so use
something smaller in absolute value, like -10^i, where i is something
between 1 and 100.

If the polynomial is not monotone in [-Inf, -3], which information on the
polynomial you have, which implies that it has a root in this range?

Petr Savicky.



More information about the R-help mailing list