the regula falsi method
/ REG-yoo-lah FAL-see /
Regula falsi (Latin for 'rule of false position') is one of the oldest root-finding ideas, used in ancient Babylon, Egypt, and China. Picture the secant method given a seatbelt: it draws the same straight line between two points, but it keeps those two points ALWAYS straddling the root — one with negative f, one with positive f — so the root can never slip out of its grasp. It marries the secant's straight-line speed to bisection's guarantee.
You start, like bisection, with a bracket [a, b] where f(a) and f(b) have opposite signs. But instead of the midpoint, you take the point where the straight line (the secant) joining (a, f(a)) and (b, f(b)) crosses zero: c = b - f(b) * (b - a) / (f(b) - f(a)). You evaluate f(c) and replace whichever endpoint has the SAME sign as f(c), so the new pair still brackets the root. Because you always keep a true bracket, regula falsi cannot diverge — unlike the plain secant method — and it usually beats bisection because the secant aims at the root rather than blindly halving.
There is a famous catch worth being honest about. For a function that is strongly curved (convex or concave) over the bracket, ONE endpoint can get 'stuck' and never update, while the other creeps toward the root one tiny step at a time. The method still converges, but only linearly — sometimes slower than bisection — defeating its purpose. The standard fixes are the Illinois algorithm and its relatives, which halve the function value at a stagnant endpoint to force it to move, restoring fast superlinear convergence while keeping the bracket. Brent's method folds these safeguarded ideas together into the modern default.
On f(x) = x^3 - x - 1 with bracket [1, 2] (f(1) = -1, f(2) = 5): the secant line gives c = 2 - 5*(2-1)/(5-(-1)) = 1.167, and f(1.167) < 0, so replace a: new bracket [1.167, 2]. Each step the straight line aims closer to the root 1.3247 — faster than halving, yet the bracket is never lost.
A secant kept inside a bracket: safe like bisection, usually faster.
Plain regula falsi can stall to linear (even sub-bisection) speed when one endpoint sticks on a strongly curved function; always use a stabilized variant (Illinois) or just use Brent's method, which handles this automatically.