Laguerre's method for finding roots of complex polynomials.

laguerre(p, x0, nmax = 25, tol = .Machine$double.eps^(1/2))

Arguments

p

real or complex vector representing a polynomial.

x0

real or complex point near the root.

nmax

maximum number of iterations.

tol

absolute tolerance.

Details

Uses values of the polynomial and its first and second derivative.

Value

The root found, or a warning about the number of iterations.

References

Fausett, L. V. (2007). Applied Numerical Analysis Using Matlab. Second edition, Prentice Hall.

Note

Computations are caried out in complex arithmetic, and it is possible to obtain a complex root even if the starting estimate is real.

See also

Examples

# 1 x^5 - 5.4 x^4 + 14.45 x^3 - 32.292 x^2 + 47.25 x - 26.46
p <- c(1.0, -5.4, 14.45, -32.292, 47.25, -26.46)
laguerre(p, 1)   #=> 1.2
#> [1] 1.2
laguerre(p, 2)   #=> 2.099987     (should be 2.1)
#> [1] 2.099987
laguerre(p, 2i)  #=> 0+2.236068i  (+- 2.2361i, i.e sqrt(-5))
#> [1] 8.586044e-10+2.236068i