The Bisection Method
Background. The bisection method is one of the bracketing methods for finding
roots of equations.
Implementation. Given a function f(x) and an interval which might contain a
root, perform a predetermined number of iterations using the bisection method.
Limitations. Investigate the result of applying the bisection method over an
interval where there is a discontinuity. Apply the bisection method for a function
using an interval where there are distinct roots. Apply the bisection method over a
"large" interval.
Theorem (Bisection Theorem). Assume that                  and that there exists a
number           such that         .
If             have opposite signs, and        represents the sequence of
midpoints generated by the bisection process, then
                          for           ,
and the sequence          converges to the zero    .
That is,              .
Proof Bisection Method Bisection Method
Computer Programs Bisection Method Bisection Method
Mathematica Subroutine (Bisection Method).
Example 1. Find all the real solutions to the cubic equation             .
Solution 1.
Example 2. Use the cubic equation                   in Example 1 and perform the
following call to the bisection method.
Bisection[0,1,30];
Solution 2.
Reduce the volume of printout.
After you have debugged you program and it is working properly, delete the
unnecessary print statements.
Concise Program for the Bisection Method
Now test the example to see if it still works. Use the last case in Example 1 given
above and compare with the previous results.
Reducing the Computational Load for the Bisection Method
The following program uses fewer computations in the bisection method and is the
traditional way to do it. Can you determine how many fewer functional
evaluations are used ?
Various Scenarios and Animations for the Bisection Method.
Example 3. Convergence Find the solution to the cubic equation
. Use the starting interval          .
Solution 3.
Example 4. Not a root located Find the solution to the equation   . Use
the starting interval          .