Package Scientific :: Package Functions :: Module FindRoot
[hide private]
[frames] | no frames]

Module FindRoot



Newton-Raphson for numerical root finding

Example:
   >>>from Scientific.Functions.FindRoot import newtonRaphson
   >>>from Numeric import pi, sin, cos
   >>>def func(x):
   >>>    return (2*x*cos(x) - sin(x))*cos(x) - x + pi/4.0
   >>>newtonRaphson(func, 0.0, 1.0, 1.0e-12)

   yields 0.952847864655.


Functions [hide private]
float newtonRaphson(function, lox, hix, xacc)
Newton-Raphson algorithm for root finding.

Function Details [hide private]

newtonRaphson(function, lox, hix, xacc)

 

Newton-Raphson algorithm for root finding. The algorithm used is a safe version of Newton-Raphson (see page 366 of Numerical Recipes in C, 2ed).
Parameters:
  • function (callable) - function of one numerical variable that uses only those operations that are defined for DerivVar objects in the module Scientific.Functions.FirstDerivatives
  • lox (float) - lower limit of the search interval
  • hix ({loat}) - upper limit of the search interval
  • xacc (float) - requested absolute precision of the root
Returns: float
a root of function between lox and hix
Raises:
  • ValueError - if function(lox) and function(hix) have the same sign, or if there is no convergence after 500 iterations