[R] polyroot behaviour
Lukas Schneiderbauer
|uk@@@@chne|derb@uer @end|ng |rom gm@||@com
Thu Oct 2 18:56:34 CEST 2025
Dear Thomas,
How can f be strictly positive if the leading term is an odd power of x?
For large negative x, x^11 will dominate, and f should become quite
negative. This argument is also supported by a graphical plot of f.
Assuming that f can indeed be negative, my suspicion is that the 11th root
is still a reasonable approximation to the actual root, but the gradient in
this region is high and so f(x) evaluated numerically is too sensitive to
small errors (that is why f(roots[[11]]) evaluates to a seemingly huge
number).
Best,
Lukas
On Thu, Oct 2, 2025 at 6:14 PM tgs77m--- via R-help <r-help using r-project.org>
wrote:
> Colleagues,
>
> g <- function(x) ( x^11 + 1000*x^10 + 500 *x^9 + 1 )
> coeffs <- c(1, rep(0, 8), 500, 1000, 1)
> roots <- polyroot(coeffs)
>
> Output
>
> [1] 0.25770068+3.958197e-01i
> [2] -0.34615184+3.782848e-01i
> [3] -0.04089779-4.838134e-01i
> [4] 0.44124314-1.517731e-01i
> [5] -0.04089779+4.838134e-01i
> [6] -0.56201931-1.282822e-01i
> [7] -0.34615184-3.782848e-01i
> [8] 0.44124314+1.517731e-01i
> [9] -0.56201931+1.282822e-01i
> [10] 0.25770068-3.958197e-01i
> [11] -999.49974975+1.110223e-16i
>
> [11] -999.49974975+1.110223e-16i makes no sense since f>0 for all x
>
> Why does polyroot do this?
>
> Thomas Subia
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> https://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
[[alternative HTML version deleted]]
More information about the R-help
mailing list