Implements the Fail-Safe Newton-Raphson Method with a zero initial value and the maximum number of Raphson-Newton steps being 1,000.
0.0001 then the result will be returned to within 0.0001 etc, assuming that an solution to this level of accuracy is found within the maximum number of iterations allowed. A reasonable value to take for this parameter is 0.00001. For smaller values of the precision parameter the solution will be more precise however the procedure will require more iterations and hence time in order to find the solution to the desired level of accuracy. Generally speaking, if using if for the precision 0.00001, we require t ms; then using a precision of 0.001, will take 0.6t ms, and using a precision of 0.0000001, will take 1.4t.A solution of the equation set using SetFunction, to the given level of precision required or NaN if the algorithm fails to produce such a solution.
This method combines the Interval Bisection method and the Newton-Raphson method, by taking a bisection step whenever the Newton-Raphson takes the solution off bounds or is not bracketing the solution fast enough. This approach in many ways combines the best of the Bisection and Newton-Raphson method and unlike the pure Newton-Raphson methods is certain to converge. That is, assuming that the internal bisection method is able to bracket a solution once it is called. For further details on the bisection algorithm we refer the reader to the Bisection API Docs, below we provide further details on the Newton-Raphson algorithm.
The Newton-Raphson method is the mostly widely used method for finding the roots of an equation of one real variable. The Newton-Raphson approach does not depend on bracketing the solution (unlike the other algorithms provided) and instead will locally approximate the equation by a linear equation and then solve this approximation which will provide the next point within the iterative sequence which will lead to a solution. The successful application of this approach will depend on:
Assuming that an initial starting point x0, from which a solution to an equation
ƒ(x)=0 has been given, the Newton-Raphson method will produce a sequence of points:
x0, x1, ..., xn,..., using the iterative formula:
xn+1 = xn - ƒ(xn) / ƒ'(xn),
where ƒ'(xn) is the derivative of the equation f, evaluated at the point xn.
The idea behind the above formula is to draw the tangent to the curve at xn and then
trace this line down to the x-axis which will give us our next estimate of the solution
xn+1. By repeating this process the resulting sequence of points will converge to
a solution of the equation in question.
As mentioned above the Fail Safe Newton-Raphson method in many ways offers a good balance between the speed of the Newton-Raphson method and the security of the bisection method. Though the method may not be as fast as a pure Newton-Raphson approach it is certain to converge once a bracketing interval has been established. As is the case with a pure Newton-Raphson approach it requires that the derivative is evaluated at a sequence of points and therefore often the viability of this approach will depend on how expensive it is to evaluate the derivative for the equation being considered. However, if the derivative is not particularly expensive to evaluate then this approach is ideal for those who want almost the speed of the Newton-Raphson approach with the security of convergence of the Bisection approach.
EquationSolver Class | WebCab.COM.Math.EquationSolver Namespace | EquationSolver.NewtonRaphsonFailSafe Overload List | Newton-Raphson Fail Safe - Applies the Newton-Raphson method where the initial point and the maximum number of iterations can be set.