Secant Method

Summary

The secant method approximates Newton’s step by replacing f(xn) with a finite difference built from the last two iterates. It needs two starts and no derivative evaluations.

Prerequisites

Problem Type

Solve f(x)=0 when f is unavailable or expensive.

Method Definition

Given xn1 and xn with f(xn)f(xn1) ,

xn+1=xnf(xn)xnxn1f(xn)f(xn1).

This is the root of the secant line through (xn1,f(xn1)) and (xn,f(xn)) .[1]

Assumptions / Requirements

Algorithm

  1. Choose x0,x1 and tolerance ε .
  2. While not stopped:
    • If |f(xn)f(xn1)| is extremely small relative to the step scale, abort (ill-conditioned update). A tiny denominator is not the same as having found a root.
    • Compute xn+1 from the formula.
    • Stop if |xn+1xn|<ε or |f(xn+1)|<ε .

Convergence

Local order is the golden ratio φ1.618 (superlinear) for simple roots under standard conditions. Global convergence is not guaranteed.

Error / Accuracy

Monitor both the step |xn+1xn| and residual |f(xn+1)| .

Worked Example

f(x)=x32x5 , starts x0=2 , x1=2.5 .

f(2)=1,f(2.5)=15.62555=5.625 x2=2.55.625(2.52)5.625(1)=2.52.81256.6252.075472

Continuing:

n xn (approx.) f(xn) (approx.)
0 2.000000 −1.000
1 2.500000 5.625
2 2.075472 −0.211
3 2.090798 −0.042
4 2.094592 4.5104
5 2.094551 0

The root is r2.094551 .

Common Failure Modes

Connections

References


  1. Burden & Faires, Numerical Analysis, secant method; NIST DLMF Ch. 3, https://dlmf.nist.gov/3 ↩︎