Bisection Method
The simplest, most reliable root-finding algorithm — slow but guaranteed to converge.
Try Bisection — No Sign-in NeededWhat is the Bisection Method?
The Bisection method is a root-finding algorithm based on the Intermediate Value Theorem: if a continuous function changes sign on an interval [a, b] — meaning f(a) and f(b) have opposite signs — then a root must exist somewhere between a and b. The method finds it by repeatedly halving the interval and keeping the half that still contains a sign change.
Bisection is the most reliable numerical root-finding method. Unlike Newton-Raphson or the Secant method, it cannot diverge. As long as the initial bracket contains a root and the function is continuous, the method will always converge. This unconditional reliability makes it the method of choice when a rough but guaranteed answer is needed, or as a safety net to obtain a good starting point for a faster method.
The trade-off is speed. Each iteration reduces the interval by exactly half, giving linear convergence of about 0.3 new decimal digits per iteration. Reaching 6 decimal digits of accuracy from a bracket of width 1 requires roughly 20 iterations — compared to just 5 or 6 for Newton-Raphson. In modern computing this is rarely a problem, but for functions that are expensive to evaluate, the slower convergence matters.
The Formula
The midpoint is tested against both endpoints. The half whose endpoints have opposite signs is kept — it is guaranteed to contain a root by the Intermediate Value Theorem.
Step-by-Step Algorithm
- 1
Choose a and b such that f(a) and f(b) have opposite signs.
- 2
Compute midpoint m = (a + b) / 2.
- 3
Evaluate f(m). If |f(m)| < tolerance, return m as the root.
- 4
If f(a) · f(m) < 0, the root lies in [a, m]: set b ← m.
- 5
Otherwise the root lies in [m, b]: set a ← m.
- 6
Repeat from step 2 until the interval width |b − a| < tolerance.
Convergence & Behaviour
Bisection converges linearly: each iteration reduces the error by exactly a factor of 2. After n iterations the interval width is (b − a) / 2ⁿ. To estimate the number of iterations needed for a given tolerance ε: n ≥ log₂((b − a) / ε). The method always converges — it cannot overshoot or diverge — making it the gold standard for robustness. The only failure mode is the initial bracket: if f(a) and f(b) share the same sign, the method cannot proceed (either no root or an even number of roots lie in the interval).
Use Bisection when you need a guaranteed result, when you already know an interval containing the root (from a graph or sign-change search), or when you want a rough starting point to hand off to a faster method like Newton-Raphson.
Avoid it when speed is critical and the derivative is available (use Newton-Raphson instead), or when the function has multiple roots in the bracket and you need to find them all.
Worked Example
Find the root of f(x) = x² − 4 on the interval [0, 3].
- 1.f(0) = −4 (negative), f(3) = 5 (positive) — bracket confirmed.
- 2.m = 1.5; f(1.5) = −1.75 (negative) → new bracket [1.5, 3]
- 3.m = 2.25; f(2.25) = 1.0625 (positive) → new bracket [1.5, 2.25]
- 4.m = 1.875; f(1.875) = −0.484 (negative) → new bracket [1.875, 2.25]
- 5.m = 2.0625; f ≈ 0.126 → [1.875, 2.0625]
- 6.After ~20 iterations: x ≈ 2.000000 (the exact root is x = 2)
Result: Root found at x = 2. Bisection is slower than Newton-Raphson but required no derivative and was guaranteed to succeed.
Try It Now — No Account Required
Want the full platform experience?
Sign up free and unlock infinite-zoom canvas, AI Tutor explanations, Canvas LTI grade passback, and your full solve history — pre-loaded with the Bisection example above.