Function rootfind::solver::newton_raphson [] [src]

pub fn newton_raphson<F, C>(
    f: &F,
    start: f64,
    finish: &C,
    max_iter: usize
) -> Result<f64, RootError> where
    F: RealFnEval + RealDfEval,
    C: IsConverged

Root finding using Newton-Raphson.

The start indicates the initial guess. For guesses sufficiently close to the root this algorithm has quadratic convergence.

This algorithm requires the first derivative of f(x).

  • If the second derivative is also available, consider Halley's method.
  • If analytically computed derivatives are not available, consider Brent-Decker.

A fascinating history of how the algorithm developed, including the contributions of Newton, Raphson, and Simpson can be found in:

Ypma, T. J. (1995). Historical development of the Newton–Raphson method. SIAM review, 37(4), 531-551.