Interval bisection Created 2026-10-07 Updated 2026-10-14
Interval bisection solves a target equation by repeatedly halving a closed interval known to contain a solution. It is the bisection method applied to , so the target becomes a zero of a function. This reduction from an equation to root finding is described in Demanet's notes.[ref] Here the emphasis is on a continuous strictly increasing function: the target identifies one input, making interval bisection a way to evaluate its inverse function without an explicit inverse formula.
Let be a continuous function, with and . The intermediate value theorem guarantees existence; a strictly increasing function also guarantees uniqueness. Check endpoint equality first. Otherwise, for the current root bracket , evaluate its midpoint . If , retain ; if , retain ; if , return that exact solution. These comparisons preserve the target bracket. General bisection method needs continuity and opposite signs of at the endpoints, without requiring monotonicity or a unique zero of a function; see limitations of bisection.
An original dimensionless polynomial example is
Here and the derivative , so there is exactly one solution. In fact ; knowing this lets us check the computed absolute error independently of the guarantee. The first four halvings give the following exact rational numbers:
Figure 1.
Finding the input for a target output: cubic graph and four retained brackets
. Details.
The beauty of interval bisection is that the enclosure itself supplies the certificate: one comparison removes half the possible inputs, regardless of the steepness of the function graph. In exact arithmetic, after completed halvings without exact termination, the width and the bisection error bound for the new midpoint are
The reported midpoint after update four is , rather than the last tested point . Its certified absolute error is at most , and its actual absolute error is . For a requested position tolerance , the bisection stopping criterion requires eleven halvings: ten give , while eleven give
The actual absolute error is . The new midpoint need not be evaluated to obtain this certificate.
The signed output residual is ; the position approximation error is . They answer different questions: how close is the output to the target, and how close is the input to the solution? Driscoll and Braun explain why a small residual needs information about the derivative to imply small position error.[ref] For this particular polynomial, direct factorization gives
Thus at the residual is , despite position absolute error . If a differentiable function satisfies throughout the bracket, the mean value theorem gives the rigorous conversion
Our example permits and on . Strict increase alone supplies no positive lower derivative bound: is strictly increasing but . A small residual alone is therefore not a universal position certificate; even the target equation has residual at , a full unit from its solution.
Figure 2.
Certified position error and output residual measure different distances
. Details.
The guarantees require continuity and correct evaluations, not just narrowing endpoints. For the strictly increasing function when and when , the target lies between and but is never attained: a jump discontinuity defeats the existence argument. With floating-point arithmetic or an approximate evaluation, an incorrect comparison can discard the true solution. A certified interval enclosure of wholly below or above certifies the corresponding decision; an enclosure containing is inconclusive, rather than proof of equality. If rounding makes the midpoint equal an endpoint, report the precision limit; see bisection stopping criterion for the rounded position bound. Both figures are exact mathematical examples, not measured data.
Use the prescribed-speed time parametrization of a curve. On a regular part traversed in increasing , let and assume the prescribed speed is positive. The chain rule for velocity gives
Integrate this scalar ordinary differential equation with an adaptive Runge-Kutta method, arranging output at the exact times . Evaluate . Internal integration steps may be shorter than ; output interpolation must meet the same error tolerance, so variable numerical steps do not create variable frame times.
An equivalent implementation precomputes
by adaptive numerical integration. This function is strictly increasing. Bracket each in the table and invert using safeguarded Newton method or interval bisection; monotonicity makes each solution unique. Stop at , with a shorter final time interval if the total travel time is not a multiple of . This accounts for changes in both the curve's parameter speed and the physical speed, unlike equal increments in .
If the specified speed vanishes, examine the reciprocal-speed integral at that event. It may diverge, giving asymptotic approach, or be integrable, giving arrival in finite time. A scalar speed does not determine whether motion reverses or how it resumes after stopping; such behavior needs the physical dynamics or a chosen continuation. The positive-speed formula applies between these events, with the direction changed if the traversal reverses.
Let . The feasible probability simplex is a nonempty compact convex set, so the extreme value theorem guarantees a minimizer. Its Hessian matrix is diagonal with positive entries , making a strictly convex function. Hence the minimizer is unique.
Use the Lagrange multipliers for the sum constraint and for . The Lagrangian is
The KKT conditions are
A strictly positive feasible allocation exists, so the Slater condition holds. These conditions are necessary and sufficient for this convex optimization. At least one coordinate is positive, giving . Put . For a positive coordinate, complementary slackness gives . At a zero coordinate, stationarity gives , or . Thus
Here . This logarithmic water filling raises the smaller baseline values to a common level. The scalar left side is a continuous function and strictly increasing above , starts at zero, and tends to infinity, so exactly one solves it. One can find it by interval bisection, or sort the baseline values increasingly and find an index for which
using . Equality at the next baseline simply gives a zero allocation. Sorting and a running sum implement the water-filling algorithm in time.