halley: Halley's Root Finding Mathod In pracma: Practical Numerical Math Functions

Description

Finding roots of univariate functions using the Halley method.

Usage

 1 halley(fun, x0, maxiter = 500, tol = 1e-08, ...)

Arguments

 fun function whose root is to be found. x0 starting value for the iteration. maxiter maximum number of iterations. tol absolute tolerance; default eps^(1/2) ... additional arguments to be passed to the function.

Details

Well known root finding algorithms for real, univariate, continuous functions; the second derivative must be smooth, i.e. continuous. The first and second derivative are computed numerically.

Value

Return a list with components root, f.root, the function value at the found root, iter, the number of iterations done, and the estimated precision estim.prec

Examples

 1 2 3 4 5 6 7 8 halley(sin, 3.0) # 3.14159265358979 in 3 iterations halley(function(x) x*exp(x) - 1, 1.0) # 0.567143290409784 Gauss' omega constant # Legendre polynomial of degree 5 lp5 <- c(63, 0, -70, 0, 15, 0)/8 f <- function(x) polyval(lp5, x) halley(f, 1.0) # 0.906179845938664

Example output

\$root
 3.141593

\$f.root
 1.224647e-16

\$iter
 3

\$estim.prec
 1.841549e-11

\$root
 0.5671433

\$f.root
 0

\$iter
 4

\$estim.prec
 0

\$root
 0.9061798

\$f.root
 -4.440892e-16

\$iter
 4

\$estim.prec
 4.551914e-15

pracma documentation built on Dec. 11, 2021, 9:57 a.m.