Computing Library › Numerical Methods
Numerical Methods

Order of Convergence

The order of convergence quantifies how fast an iterative method's error shrinks, distinguishing linear, superlinear, and quadratic methods.

Measuring the speed of convergence

An iterative sequence converges with order p if the error e_{n+1} is asymptotically proportional to e_n^p. Order 1 is linear, order 2 is quadratic, and orders between are superlinear. The constant of proportionality is the asymptotic error constant; for linear convergence it must be below 1 for the sequence to converge at all.

What each order means in practice

Kronos motion — fast proton

Estimating order empirically

Given three successive errors, the order can be estimated from log(e_{n+1}/e_n) divided by log(e_n/e_{n-1}). When the true root is unknown, consecutive differences |x_{n+1} - x_n| serve as a proxy for the error. Watching digits of agreement grow reveals the order directly: doubling per step signals quadratic behavior.

python
import math
def order(errs):
    return [math.log(errs[k+1]/errs[k])/math.log(errs[k]/errs[k-1])
            for k in range(1, len(errs)-1)]

Order is not the whole story

A high order is worthless if the method diverges from the given start, or if each step is very expensive. The right comparison is work to reach a target accuracy: evaluations per iteration times iterations needed. This is why the secant method often beats Newton in wall-clock time when the derivative is costly, despite its lower order.

Choosing solvers for physics kernels balances order against robustness and cost per step, a trade managed carefully in the coupled nonlinear solvers used for breeder Hyperion design studies.