MAT360 Section Summary: 2.1

The Bisection Method

  1. Summary

    We're getting into root finding now: the problem is one that you're very familiar with: find x such that

    displaymath192

    We're going to start finding roots with the simplest, most obvious method: trap one! In order to trap one, we pinch it with the Intermediate Value Theorem. So we'll require continuity of f.

    This is an iterative scheme, which means that we'll be doing the same thing over and over, until satisfied. Since it's iterative, we could implement it in several ways, including having the algorithm call itself. This is called recursion. It's the most fun, but possibly quite dangerous (since one could spiral down forever and ever if not careful).

    The name ``bisection'' suggests the scheme: we're going to cut an interval in half each time. So we need an interval to start, and since we're planning on using the IVT to search for a root, we need one [a,b] such that tex2html_wrap_inline214 .

    So the idea is this:

    You might also put in a stopping criterion, so that if you've done a certain magic number of iterations, the best root to that point will be produced.

    Here it is in lisp:

  2. Definitions

  3. Theorems/Formulas

    Theorem 2.1: Suppose that tex2html_wrap_inline256 and f(a)*f(b)<0. The bisection method generates a sequence tex2html_wrap_inline260 approximating a root r of f with

    displaymath196

    when tex2html_wrap_inline266 .

  4. Properties/Tricks/Hints/Etc.

    Notice the calculation of the mean of a and b as

    displaymath197

    This is better conditioned than

    displaymath198

    in some cases: for example, with two-digit numbers chopped, and a=98 and b=99, then a+b=190; so tex2html_wrap_inline278 ! That's a funny average.... But

    displaymath199

    (still bad, but at least we're still in the interval [a,b]!). On the other hand, if we don't include a stopping criterion based on a maximum number of iterations, we're in danger of looping forever....

...
As mentioned in the text, it's better to multiply signum values, rather than the actual function values. This is because it's easy to do the sign of numbers - we just check that one bit out of 64, for example! And multiplying ones and negative ones is easy....
 



Mon Sep 12 23:38:17 EDT 2005