Nonlinear equations: the problem and iterative methods

What solving f(x)=0f(x)=0 means, why iterative methods are used, how they are classified (memory, points, derivatives) and which criteria stop the iteration.

The problem

Many problems in science and engineering end in a nonlinear equation: finding a simple root α\alpha of

f(x)=0,f:DRRf(x)=0,\qquad f:D\subseteq\mathbb{R}\longrightarrow\mathbb{R}

There are three routes. The analytic one only works for specific families of equations. The graphical one (plot ff and look where it crosses the axis) locates the root but gives no precision: for f(x)=cos2xxf(x)=\cos^2 x-x one sees the root is near 0.650.65, and nothing more. The third route is iterative methods, which from one or several initial estimates generate a sequence {x0,x1,x2,}\{x_0,x_1,x_2,\dots\} converging to α\alpha to any desired accuracy.

Most memoryless methods are written as a fixed-point iteration xk+1=ϕ(xk)x_{k+1}=\phi(x_k). The central example is the Newton-Raphson method, with ϕ(x)=xf(x)f(x)\phi(x)=x-\frac{f(x)}{f'(x)}.

Classification of iterative methods

  • Without memory / with memory: the former use only the current iterate, xk+1=ϕ(xk)x_{k+1}=\phi(x_k); the latter also use previous iterates, xk+1=ϕ(xk,xk1,,xkm)x_{k+1}=\phi(x_k,x_{k-1},\dots,x_{k-m}), and need several initial estimates. The secant is the classic method with memory.
  • One-point / multipoint: multipoint methods evaluate the function at intermediate points within the same iteration (predictor-corrector structure), like Traub's method or the high-order methods.
  • With derivatives / derivative-free: when ff' is unknown or expensive, it is replaced by divided differences, as the secant and Steffensen methods do.

Stopping criteria and tolerance

An iterative method needs to know when to stop. The usual conditions, alone or combined, are:

  • The last two iterates are very close: xk+1xk<ε|x_{k+1}-x_k|<\varepsilon.
  • The residual is very small: f(xk+1)<ε|f(x_{k+1})|<\varepsilon.
  • A maximum number of iterations has been reached without converging (protects against infinite loops when the method diverges).

The value ε\varepsilon is the tolerance. With double-precision arithmetic it makes no sense to request tolerances below machine precision; convergence studies with extreme tolerances (like 1010010^{-100} in the comparison exercise) use extended-precision arithmetic.