Ridders' method

In numerical analysis, Ridders' method is a root-finding algorithm based on the false position method and the use of an exponential function to successively approximate a root of a continuous function f(x). The method is due to C. Ridders.{{Cite journal | last1 = Ridders | first1 = C. | doi = 10.1109/TCS.1979.1084580 | title = A new algorithm for computing a single root of a real continuous function | journal = IEEE Transactions on Circuits and Systems | volume = 26 | pages = 979–980| year = 1979 | issue = 11 }}{{cite book|title=Numerical Methods in Engineering with Python|first=Jaan |last=Kiusalaas| publisher=Cambridge University Press| year=2010| isbn=978-0-521-19132-6 | edition=2nd| pages=146–150| url=https://books.google.com/books?id=9SG1r8EJawIC&pg=PT156}}

Ridders' method is simpler than Muller's method or Brent's method but with similar performance.{{cite book | last1=Press | first1=WH | last2=Teukolsky | first2=SA | last3=Vetterling | first3=WT | last4=Flannery | first4=BP | year=2007 | title=Numerical Recipes: The Art of Scientific Computing | edition=3rd | publisher=Cambridge University Press | publication-place=New York | isbn=978-0-521-88068-8 | chapter=Section 9.2.1. Ridders' Method | chapter-url=http://apps.nrbook.com/empanel/index.html#pg=452}} The formula below converges quadratically when the function is well-behaved, which implies that the number of additional significant digits found at each step approximately doubles; but the function has to be evaluated twice for each step, so the overall order of convergence of the method with respect to function evaluations rather than with respect to number of iterates is \sqrt{2}. If the function is not well-behaved, the root remains bracketed and the length of the bracketing interval at least halves on each iteration, so convergence is guaranteed.

Method

Given two values of the independent variable, x_0 and x_2, which are on two different sides of the root being sought so thatf(x_0)f(x_2) < 0, the method begins by evaluating the function at the midpoint x_1 = (x_0 +x_2)/2 . One then finds the unique exponential function e^{ax} such that function h(x)=f(x)e^{ax} satisfies h(x_1)=(h(x_0) +h(x_2))/2 . Specifically, parameter a is determined by

:e^{a(x_1 - x_0)} = \frac{f(x_1)-\operatorname{sign}[f(x_0)]\sqrt{f(x_1)^2 - f(x_0)f(x_2)}}{f(x_2)} .

The false position method is then applied to the points (x_0, h(x_0)) and (x_2,h(x_2)), leading to a new value x_3 between x_0 and x_2 ,

:x_3 = x_1 + (x_1 - x_0)\frac{\operatorname{sign}[f(x_0)]f(x_1)}{\sqrt{f(x_1)^2 - f(x_0)f(x_2)}},

which will be used as one of the two bracketing values in the next step of the iteration. The other bracketing value is taken to be x_1 if f(x_1)f(x_3) <0 (which will be true in the well-behaved case), or otherwise whichever of x_0 and x_2 has a function value of opposite sign to f(x_3). The iterative procedure can be terminated when a target accuracy is obtained.

References

{{reflist}}

{{root-finding algorithms}}

Category:Root-finding algorithms

{{mathapplied-stub}}