3

Is there any writeup of Chandrupatla's algorithm for root finding, besides his original article? A new hybrid quadratic/bisection algorithm for finding the zero of a nonlinear function without using derivatives, Tirupathi R. Chandrupatla, Advances in Engineering Software, Volume 28 Issue 3, April 1997, Pages 145 - 149.

There's a number of writeups of Brent's method, but for Chandrupatla's algorithm, I don't have access to the aforementioned article, and I could only find one writeup in a book by Scherer which gives the equations, but no complete description. I don't understand the significance of $\xi$ and $\Phi$:

$$ \xi = \frac{a-b}{c-b}$$ $$ \Phi = \frac{f_a - f_b}{f_c - f_b} $$

and inverse quadratic interpolation is used if $ \Phi^2 < \xi $ and $ (1-\Phi)^2 < 1-\xi $, bisection otherwise.

Jason S
  • 3,179
  • Just a plain guess, but $a, b, c$ look like three consecutive approximations of the root $x_{n-2}, x_{n-1}$ and $x_n$ and the condition $\Phi^2 < \xi, (1 - \Phi)^2 < 1 - \xi$ might be related to monotonicity of the inverse quadratic interpolation – uranix Nov 09 '15 at 17:42
  • you're right on the consecutiveness, although I can't quite tell which is which. (I think c is the newest, not positive though) – Jason S Nov 09 '15 at 20:55

2 Answers2

2

Suppose $b < a < c$ and $b = 0$; then the ratio $\xi = {a \over c}$ says where the middle point $a$ is, left .. right, in the interval. Similarly, $\Phi$ says how low / how high $f_a$ is. If $[a, f_a]$ is near a straight line between the outer two points, then linear interpolation should be pretty good; if in Chandrupatla's region ... ? enter image description here

Other permutations of $a\ b\ c$ and $f_a\ f_b\ f_c$ are symmetric.

(But why inverse-quadratic ? Any 3-point interpolator will be good for some functions, poor for others. See Illinois False position method , and the nice answers to method-of-false-position-regular-falsi-pros-cons .)

denis
  • 961
  • "But why inverse-quadratic?" I gave an answer to this specific detail in my answer below. In short, the conditions attempt to ensure inverse quadratic interpolation is effective. – Simply Beautiful Art Aug 22 '20 at 17:33
2

Chandrupatla's algorithm is based on conditions for which inverse quadratic interpolation is known to converge/diverge. In some instances, inverse quadratic interpolation may yield points outside of the bracketing interval. This will only occur if the vertex of the inverse quadratic lies closer to the x-axis than the bracketing points. Chandrupatla's method tests for the critical point where this vertex lies exactly on one of the bracketing points. This can be seen in denis's example.

This also explains the specific use of inverse quadratic interpolation.