Implements Ridders' Method which is a powerful variant of the Secant method, without asking for an initial bracketing interval to be set.
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 powerful variant on the Secant method was developed by C.J.F.Ridders in the article: Ridders, C.J.F. 1979, IEEE
Transactions on Circuits and Systems, vol. CAS-26, pp. 979-980}. The basic idea is to improve the initial bracketing
interval by the following procedure. If the root is bracketed between x1 and x2, Ridders'
method first evaluates function at the midpoint:
x3 = (x1 + x2)/2
Then we update our initial bracketed interval by:
x4 = x3 + (x3 - x1) . (sign[ƒ(x1)- ƒ(x2)]ƒ(x3))/(√{ƒ(x3)2 - ƒ(x1)ƒ(x2)}),
where sign[...] is the sign function and √{...} is the square root. The
new estimate x4 is guaranteed to lie in the bracketed interval and therefore this approach
can be seen as a variant of the bisection method.
The speed at which Ridders' method converges is given by:
limk → ∞ | ek+1 | ≈ c.| ek |√2,
where c is a constant, en is the order of the error after n iterations.
Ridders' method given an initial bracketing interval is certain to converge. Moreover, Ridders' method is a powerful variant of the Secant method which is most case is the preferred choice.
EquationSolver Class | WebCab.COM.Math.EquationSolver Namespace | EquationSolver.Ridders Overload List | Ridders - Offers Ridders' Method where you are able to set the initial bracketing interval and the maximum number of iterations used.