for (j=1;j= fh ? : )*fm/s); Updating formula. if (fabs(xnew-ans) | Van Wijngaarden-Dekker-BrentMethod 359 for j 1 j MAXIT j xm xl xh fm func xm First of two function evaluations per it- s sqrt fm fm-fl fh eration. if s return ans xnew xm xm-xl fl fh fm s Updating formula. if fabs xnew-ans xacc return ans ans xnew fnew func ans Second of two function evaluations per if fnew return ans iteration. if SIGN fm fnew fm Bookkeeping to keep the root bracketed xl xm fl fm xh ans fh fnew on next iteration else if SIGN fl fnew fl xh ans fh fnew else if SIGN fh fnew fh xl ans fl fnew else nrerror never get here. if fabs xh-xl xacc return ans nrerror zriddr exceed maximum iterations else if fl return x1 if fh return x2 nrerror root must be bracketed in zriddr. return Never get here. CITED REFERENCES AND FURTHER READING Ralston A. and Rabinowitz P. 1978 A First Course in Numerical Analysis 2nd ed. New York McGraw-Hill . Ostrowski . 1966 Solutions of Equations and Systems of Equations 2nd ed. New York Academic Press Chapter 12. Ridders . 1979 IEEE Transactions on Circuits and Systems vol. CAS-26 pp. 979-980. 1 Van Wijngaarden-Dekker-BrentMethod While secant and false position formally converge faster than bisection one finds in practice pathological functions for which bisection converges more rapidly. These can be choppy discontinuous functions or even smooth functions if the second derivative changes sharply near the root. Bisection always halves the interval while secant and false position can sometimes spend many cycles slowly pulling distant bounds closer to a root. Ridders method does a much better job but it too can sometimes be fooled. Is there a way to combine superlinear convergence with the sureness of bisection Sample page from NUMERICAL RECIPES IN C THE ART OF SCIENTIFIC COMPUTING ISBN 0-521-43108-5 360 Chapter 9. Root Finding and Nonlinear Sets ofEquations Yes. We can keep track of whether a supposedly superlinear method is actually converging the way it is supposed to and if it .