Professional Documents
Culture Documents
1
af (b)bf (a)
(i) If a = c, then b is determined by linear (secant) interpolation: b = f (b)f (a) .
(ii) Otherwise, a, b, and c are distinct, and b is determined using inverse quadratic
interpolation:
Determine , , and such that p(y) = y 2 + y + satisfies p(f (a)) = a,
p(f (b)) = b, and p(f (c)) = c.
Set b = .
3. If necessary, b is adjusted or replaced with the bisection point. (The rules are complicated.)
4. Once b has been finalized, a, b, c, and b are used to determine new values of a, b, and c.
(The rules are complicated.)
Remark: In part (ii) of step 2, the coefficients , , and (especially) are easily determined
using standard methods at the cost of a few arithmetic operations. (Of course, there needs to
be a safeguard against the unlikely event that f (a), f (b), and f (c) are not distinct.) Note that
is just p(0), so if f really were the inverse of a quadratic, i.e., f 1 (y) = p(y) = y 2 + y +
for all y, then b = would satisfy f (b) = f (p(0)) = f (f 1 (0)) = 0. Thus inverse quadratic
interpolation provides a low-cost approximate zero of f that should be more accurate than that
obtained by linear (secant) interpolation. Note that if direct quadratic interpolation were used
instead of inverse quadratic interpolation, i.e., if we found p(x) = x2 + x + such that
p(a) = f (a), p(b) = f (b), and p(c) = f (c), then it would be necessary to find a b such that
p(b) = 0 using the quadratic formula, which involves a square root. By using inverse quadratic
interpolation, Brents method avoids this square root.