Skip to content

Secant Method

Newton’s method requires the analytical derivative f′(xk)f'(x_k) at every step. When the function is too complicated to differentiate, or when only function values (not derivatives) are available, the secant method provides a practical alternative. It replaces the exact derivative with a finite difference approximation constructed from the two most recent iterates.


Motivation

Recall from numerical differentiation that the backward difference formula approximates the derivative:

f′(xk)≈f(xk)−f(xk−1)xk−xk−1f'(x_k) \approx \frac{f(x_k) - f(x_{k-1})}{x_k - x_{k-1}}

Substituting this approximation directly into Newton’s formula:

xk+1=xk−f(xk)f′(xk)≈xk−f(xk)f(xk)−f(xk−1)xk−xk−1x_{k+1} = x_k - \frac{f(x_k)}{f'(x_k)} \approx x_k - \frac{f(x_k)}{\dfrac{f(x_k) - f(x_{k-1})}{x_k - x_{k-1}}}

Simplifying gives the secant method formula.


Formula

xk+1=xk−f(xk) (xk−xk−1)f(xk)−f(xk−1)\boxed{x_{k+1} = x_k - \frac{f(x_k)\,(x_k - x_{k-1})}{f(x_k) - f(x_{k-1})}}

Unlike Newton’s method, which requires only one starting point x0x_0, the secant method requires two starting points x0x_0 and x1x_1 to compute the very first iterate x2x_2.

Graph showing a curve with a secant line drawn through two previous points, whose x-intercept defines the next iterate.

Comparison with Newton’s Method

PropertyNewton’s MethodSecant Method
Derivative requiredYes, f′(xk)f'(x_k) at each stepNo
Starting points needed1 (just x0x_0)2 (x0x_0 and x1x_1)
Convergence rateSuper-linear (λ=0\lambda = 0)Super-linear (order ≈1.618\approx 1.618)
Cost per iteration1 function + 1 derivative evaluation1 function evaluation (derivative is reused)

The secant method converges slightly slower than Newton’s method in theory, but avoids the need for any derivative, making it the preferred choice when differentiation is expensive or impossible.


Worked Example

Problem: Find the root of f(x)=1x−0.5f(x) = \dfrac{1}{x} - 0.5 using the secant method with x0=0.25x_0 = 0.25 and x1=0.5x_1 = 0.5.

Step 1 — Evaluate at the starting points

f(x0)=f(0.25)=10.25−0.5=4−0.5=3.5f(x_0) = f(0.25) = \frac{1}{0.25} - 0.5 = 4 - 0.5 = 3.5

f(x1)=f(0.5)=10.5−0.5=2−0.5=1.5f(x_1) = f(0.5) = \frac{1}{0.5} - 0.5 = 2 - 0.5 = 1.5

Step 2 — Compute x2x_2

x2=x1−f(x1)(x1−x0)f(x1)−f(x0)=0.5−1.5 (0.5−0.25)1.5−3.5x_2 = x_1 - \frac{f(x_1)(x_1 - x_0)}{f(x_1) - f(x_0)} = 0.5 - \frac{1.5\,(0.5 - 0.25)}{1.5 - 3.5}

=0.5−1.5×0.25−2=0.5−0.375−2=0.5+0.1875=0.6875= 0.5 - \frac{1.5 \times 0.25}{-2} = 0.5 - \frac{0.375}{-2} = 0.5 + 0.1875 = \boxed{0.6875}

Step 3 — Continue iterating

Using x1=0.5x_1 = 0.5 and x2=0.6875x_2 = 0.6875, compute f(x2)f(x_2) and apply the formula again to find x3x_3. Continuing this process, the iterates converge rapidly toward the root.

x∗=2.00000\boxed{x^* = 2.00000}

The true root is confirmed analytically: 1x=0.5  ⟹  x=2\frac{1}{x} = 0.5 \implies x = 2. The secant method reaches this value in fewer iterations than fixed-point iteration, though it starts from a much broader initial bracket than Newton’s method would typically need.