A bracketing method finds a zero of a function by maintaining a root bracket and shrinking it as new values of the function become available. The bisection method always tries the midpoint; its special attraction is a predictable bisection error bound without any derivative evaluations.
A root bracket is a closed interval known to contain at least one zero of a function. For a real-valued continuous function on , a strict change of sign between and certifies such an enclosure by the intermediate value theorem. An endpoint with value zero already supplies a zero of a function. For example, is a root bracket for the polynomial , since and . A root bracket need not contain a unique zero of a function.
The bisection method finds a zero of a function by repeatedly halving a root bracket. Let be a real-valued continuous function on the closed interval , with . First check for endpoint zeros of a function; otherwise require strictly opposite signs at the endpoints. Evaluate the midpoint and retain the half with strictly opposite endpoint signs, stopping immediately if the midpoint is a zero of a function. The intermediate value theorem ensures that every retained root bracket still contains a zero of a function. This is the construction in MIT's root-finding notes.[ref]
https://ocw.mit.edu/courses/18-330-introduction-to-numerical-analysis-spring-2012/5b325bfa56a599794c7196de926844b0_MIT18_330S12_Chapter4.pdf. Laurent Demanet, MIT 18.330, Chapter 4, §4.1, pp. 1–2, 2012
For a worked square root calculation, use the polynomial on . Write for the root bracket after halvings, with . The candidate evaluated during update is the old midpoint :The initial midpoint is . After four halvings the new midpoint is , and the bisection error bound is . Its actual error is approximately . The last tested candidate and the reported midpoint are different points.
The useful feature of the bisection method is that the retained width halves on every update, independently of the shape of the function graph. The bisection error bound therefore supplies an accuracy guarantee before the zero of a function is known. No derivative is needed, and a valid initial root bracket gives convergence without a close initial guess. This makes the bisection method a dependable fallback for the faster Newton root-finding iteration.
The bisection method preserves some root in a sign-changing bracket but does not select a fixed root when several are present. For the displayed polynomial, endpoint and midpoint roots are returned immediately. If , the first midpoint lies in with negative function value, so the retained bracket contains only zero. If , the first midpoint is exactly one. If , that midpoint lies in with positive function value, so the retained bracket contains only two. At the right endpoint itself is the root two.
Thus arbitrarily small changes of the initial endpoint across change the limiting root from zero to two, with one selected exactly at the transition. The guarantee concerns distance to a root inside the retained interval, rather than continuous dependence of that root's identity on the starting data.
In exact arithmetic, after completed halvings the retained root bracket has width and midpoint , whereThe absolute value bound holds for every zero of a function in the current root bracket, including the one approached by continued bisection method updates. A zero of a function discarded with an earlier half need not satisfy later bounds. Before update , the evaluated candidate is , whose corresponding guarantee is . After update , the new midpoint has the smaller guarantee , even without evaluating .
Bisection widths, midpoint error bounds, and actual square-root errors after zero to fifteen halvings
. Details. The guaranteed error halves at every step; the actual absolute value error need not decrease at every step or have successive ratio . In the square root example it increases from to , while both errors remain below their guarantees. An exact midpoint zero of a function instead gives zero error and immediate termination. For this example is an irrational number, so no finite exact halving can produce it as a midpoint.
For a brief proof outline, each retained half has half the previous width and contains a zero of a function by the intermediate value theorem. Every point in the retained root bracket is at most half its width from its midpoint. If the process does not stop at a zero of a function, the nested interval theorem gives one common point as the widths tend to zero; continuity and the opposite endpoint signs force its function value to be zero. Uniqueness in the initial root bracket is unnecessary.
For a requested absolute tolerance , stop when the retained root bracket has width at most , and report its midpoint. The bisection error bound then guarantees in exact arithmetic. Using the ceiling function and the base-two logarithm, the required number of halvings isThe zero allows stopping before any update when the initial root bracket is already sufficiently narrow. For the polynomial on with , . After nine halvings,Thus the reported midpoint meets the tolerance; its actual error from the square root is approximately . After eight halvings the bound is , so eight do not give this worst-case guarantee.
Cache the endpoint values. Each update of the bisection method needs just one new function evaluation, at the old midpoint. With no early zero of a function, updates therefore cost function evaluations, including the two initial endpoints. Returning the new midpoint requires no additional function evaluation; requesting its value would add one. The nine-update example needs eleven evaluations for the guarantee.
A small function value alone does not guarantee a small position error: rescaling changes those values without changing its zeros of a function. In a practical implementation, use an explicit width test and an iteration limit. With floating-point arithmetic, also stop if the computed midpoint equals either endpoint: the root bracket can no longer shrink, so repeating the update would loop forever. Report this precision limit separately if the requested tolerance remains unmet. Reliable sign evaluations are needed to preserve the root bracket; compare signs directly rather than multiplying endpoint values, which can suffer overflow or underflow in floating-point arithmetic.
For a rounded midpoint still inside a valid root bracket, the geometric error bound is ; it need not equal because of roundoff error. A rigorous computed enclosure also needs conservative arithmetic for that bound and reliable endpoint signs. The exact-arithmetic bisection error bound should not be claimed unchanged after precision prevents further halving.
For practical tolerance conventions, SciPy's
bisect combines absolute and relative tolerances through , and provides a maximum iteration count and convergence status. These differ from the purely absolute width test above.[ref]https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.bisect.html. SciPy, scipy.optimize.bisect documentation
Several zeros of a function can lie in one initial root bracket: the bisection method seeks one, rather than enumerating them. For instance, the polynomial has opposite endpoint signs on , but its first midpoint evaluation returns only the polynomial root . The initial zero of a function need not be unique for the bisection error bound to apply to a retained zero of a function.
A zero of a function without a sign change cannot be located by the strict sign-change test alone. The polynomial touches zero at but is positive on either side. On both endpoint values are positive: although the closed interval contains a polynomial root, it fails the usual starting test for the bisection method. An endpoint or evaluated midpoint zero of a function can still be recognized directly.
Opposite signs certify a root bracket only with the required continuity. For , the values at and have opposite signs, but is undefined at the midpoint and has no zero of a function. Hence is invalid input for the bisection method; the intermediate value theorem does not apply across the gap.
Articles by others on the same topic
There are currently no matching articles.

