Bisection Method
Locate roots by repeatedly halving an interval — watch the bracket shrink and the midpoint converge. Drag to pan, scroll to zoom.
The Bisection Algorithm
Given a continuous function \(f\) and an interval \([a_0, b_0]\) with \(f(a_0)f(b_0) < 0\), the Intermediate Value Theorem guarantees at least one root \(x^*\in(a_0,b_0)\). The algorithm repeatedly halves the bracket:
The interval width halves each step: \(b_n - a_n = (b_0 - a_0)/2^n\). After \(n\) steps the root is located to within \(\pm(b_0-a_0)/2^{n+1}\).
Convergence
Bisection converges linearly with rate \(1/2\): each step gains exactly one binary digit of precision. To achieve absolute error \(\varepsilon\), you need \(n \geq \log_2\!\left((b_0-a_0)/\varepsilon\right)\) steps. For \([1,2]\) and \(\varepsilon=10^{-6}\): \(n\geq\lceil\log_2(10^6)\rceil=20\) steps.
Failure Modes
- No sign change: If \(f(a_0)f(b_0) > 0\), bisection cannot proceed.
- Discontinuities: A sign change may be due to a vertical asymptote rather than a root.
- Multiple roots: Bisection finds one root per interval.
How to Use
- Select an example or enter a custom function with interval \([a,b]\).
- Click Step to advance one iteration, or Play to animate.
- Drag the plot to pan; scroll (or pinch on touch) to zoom. Click Reset view to return to the initial window.
- The Current Iterate table always shows \(n, a_n, b_n, c_n, f(c_n)\).
| \(n\) | \(a_n\) | \(f(a_n)\) | \(b_n\) | \(f(b_n)\) | \(c_n\) | \(f(c_n)\) | \(b_n - a_n\) |
|---|---|---|---|---|---|---|---|
| No data yet | |||||||