Root-Finding & Nonlinear Equations

the secant method

Newton's method is fast but demands the derivative f'(x) at every step — and sometimes you do not have a formula for it, or it is expensive to compute. The secant method is the natural fix: replace the exact tangent with the line through your last two points and follow THAT to the axis. It is Newton with the derivative swapped for a finite-difference estimate, and it keeps most of Newton's speed while needing no derivative at all.

Keep the two most recent guesses x_{n-1} and x_n with their function values. The line through (x_{n-1}, f(x_{n-1})) and (x_n, f(x_n)) is a secant; where it crosses zero is the next guess: x_{n+1} = x_n - f(x_n) * (x_n - x_{n-1}) / (f(x_n) - f(x_{n-1})). Notice the fraction (x_n - x_{n-1}) / (f(x_n) - f(x_{n-1})) is just an approximate 1/f'(x_n) built from the two points — Newton's formula with the slope estimated rather than differentiated. Each iteration costs only ONE new function evaluation (Newton needs both f and f'), which often makes the secant method cheaper per step in real cost.

Its convergence order is the golden ratio, p = 1.618 — superlinear: faster than bisection's linear crawl, slower than Newton's quadratic leap, but with no derivative to supply and only one function value per step, the secant method is frequently the better deal overall. The honest caveats: it is NOT a bracketing method (the two points need not straddle the root), so like Newton it can diverge or jump away from a bad start, and the divided difference f(x_n) - f(x_{n-1}) can suffer catastrophic cancellation once the two points are extremely close, polluting the slope. Bracketing cousins (regula falsi, Brent) trade a little of this speed for guaranteed safety.

Solve x^2 - 2 = 0 with x_0 = 1, x_1 = 2. Slope estimate (4 - (-1))/(2 - 1) = 5 gives x_2 = 2 - 2*(2-1)/(4-(-1)) = 1.6. Then x_3 = 1.4118, x_4 = 1.41421... — converging to sqrt(2) with no derivative ever computed, at the golden-ratio rate.

Newton with a finite-difference slope: order 1.618, one new f-value per step, no derivative.

The secant method does not bracket the root, so it can diverge like Newton from a poor start. And when x_n and x_{n-1} get very close, f(x_n) - f(x_{n-1}) loses accuracy to cancellation, so the slope estimate degrades exactly when you are near the answer.

Also called
secant iterationderivative-free Newton割線法弦線法