Rootfinding through Newton-Raphson or Secant.
Finding roots of univariate functions. (Newton never invented or used this method; it should be called more appropriately Simpson's method!)
newtonRaphson(fun, x0, dfun = NULL, maxiter = 500, tol = 1e-08, ...) newton(fun, x0, dfun = NULL, maxiter = 500, tol = 1e-08, ...)
fun |
Function or its name as a string. |
x0 |
starting value for newtonRaphson(). |
dfun |
A function to compute the derivative of |
maxiter |
maximum number of iterations; default 100. |
tol |
absolute tolerance; default |
... |
Additional arguments to be passed to f. |
Well known root finding algorithms for real, univariate, continuous functions.
Return a list with components root
, f.root
,
the function value at the found root, iter
, the number of iterations
done, and root
, and the estimated precision estim.prec
The estimated precision is given as the difference to the last solution before stop; this may be misleading.
Quarteroni, A., R. Sacco, and F. Saleri (2007). Numerical Mathematics. Second Edition, Springer-Verlag, Berlin Heidelberg.
# Legendre polynomial of degree 5 lp5 <- c(63, 0, -70, 0, 15, 0)/8 f <- function(x) polyval(lp5, x) newton(f, 1.0) # 0.9061798459 correct to 10 decimals in 5 iterations
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.