Algorithm Search⌘K

Proofs: Steffensen's method

These are the human proofs of Steffensen's method, at full length.

Steffensen's method ends and converges quadratically near a simple root full

This proof shows: correctness, termination, local-convergence.

We write xkx_k for the value of xx at the start of pass k+1k + 1, yk=xk+f(xk)y_k = x_k + f(x_k), ek=xk−x∗e_k = x_k - x^*, and dk=f[xk,yk]d_k = f[x_k, y_k]. The arithmetic is exact except in Claim 1.

Claim 1: termination and the flags

Each pass returns or increases kk, and k≤kmax⁡k \le k_{\max}, so the loop ends after at most kmax⁡k_{\max} passes, each with at most two evaluations. The flags record the tests of lines L3, L5 and L10. In floating point, y=xy = x in line L5 happens exactly when the computed x+f(x)x + f(x) rounds to xx, which implies ∣f(x)∣≤u∣x∣|f(x)| \le u|x| in round-to-nearest.

Claim 2: the error identity

Assume f(xk)≠0f(x_k) \ne 0, so yk≠xky_k \ne x_k, and dk≠0d_k \ne 0. Then

ek+1=ek−f(xk)dk=ek (dk−f[x∗,xk])dk,e_{k+1} = e_k - \frac{f(x_k)}{d_k} = \frac{e_k\,(d_k - f[x^*, x_k])}{d_k},

because f(xk)=f(xk)−f(x∗)=f[x∗,xk] ekf(x_k) = f(x_k) - f(x^*) = f[x^*, x_k]\,e_k. By the definition of the second divided difference, dk−f[x∗,xk]=f[xk,yk]−f[x∗,xk]=f[x∗,xk,yk] (yk−x∗)d_k - f[x^*, x_k] = f[x_k, y_k] - f[x^*, x_k] = f[x^*, x_k, y_k]\,(y_k - x^*), and yk−x∗=ek+f(xk)y_k - x^* = e_k + f(x_k). Hence

ek+1=f[x∗,xk,yk]f[xk,yk] ek (ek+f(xk)).e_{k+1} = \frac{f[x^*, x_k, y_k]}{f[x_k, y_k]}\,e_k\,(e_k + f(x_k)).

Claim 3: local quadratic convergence

Let f∈C2f \in C^2 on I=[x∗−r,x∗+r]I = [x^* - r, x^* + r] with f(x∗)=0f(x^*) = 0, and let L=max⁡I∣f′∣L = \max_I |f'|, μ=min⁡I∣f′∣>0\mu = \min_I |f'| > 0, M=max⁡I∣f′′∣M = \max_I |f''| and K=M(1+L)/(2μ)K = M(1 + L)/(2\mu). Suppose (1+L)∣ek∣≤r(1 + L)|e_k| \le r and K∣ek∣≤12K|e_k| \le \frac12.

By the mean value theorem ∣f(xk)∣≤L∣ek∣|f(x_k)| \le L|e_k|, so ∣yk−x∗∣≤(1+L)∣ek∣≤r|y_k - x^*| \le (1 + L)|e_k| \le r and yk∈Iy_k \in I. On II, ∣f[xk,yk]∣≥μ|f[x_k, y_k]| \ge \mu because it equals f′f' at a point of II, and ∣f[x∗,xk,yk]∣≤M/2|f[x^*, x_k, y_k]| \le M/2 because it equals f′′/2f''/2 at a point of II. So dk≠0d_k \ne 0, and Claim 2 gives

∣ek+1∣≤M2μ∣ek∣ (∣ek∣+L∣ek∣)=K∣ek∣2≤12∣ek∣.|e_{k+1}| \le \frac{M}{2\mu}|e_k|\,(|e_k| + L|e_k|) = K|e_k|^2 \le \tfrac12|e_k|.

Then (1+L)∣ek+1∣≤r(1 + L)|e_{k+1}| \le r and K∣ek+1∣≤12K|e_{k+1}| \le \frac12, so by induction the hypotheses hold for all kk, ek→0e_k \to 0, and K∣ek∣≤(K∣e0∣)2kK|e_k| \le (K|e_0|)^{2^k}. If f(xk)=0f(x_k) = 0 at some step, then xk=x∗x_k = x^* because f′≠0f' \ne 0 on II.

The constant. As ek→0e_k \to 0, f[x∗,xk,yk]→f′′(x∗)/2f[x^*, x_k, y_k] \to f''(x^*)/2, f[xk,yk]→f′(x∗)f[x_k, y_k] \to f'(x^*) and (ek+f(xk))/ek→1+f′(x∗)(e_k + f(x_k))/e_k \to 1 + f'(x^*), so

ek+1ek2→f′′(x∗) (1+f′(x∗))2f′(x∗).\frac{e_{k+1}}{e_k^2} \to \frac{f''(x^*)\,(1 + f'(x^*))}{2f'(x^*)}.

If f′(x∗)=−1f'(x^*) = -1 this limit is 00; with f∈C3f \in C^3 the identity then gives ∣ek+1∣=O(∣ek∣3)|e_{k+1}| = O(|e_k|^3).

Claim 4: the fixed-point form

For x=g(x)x = g(x) with g∈C2g \in C^2 and g′(x∗)≠1g'(x^*) \ne 1, put f(x)=g(x)−xf(x) = g(x) - x. Then f′(x∗)=g′(x∗)−1≠0f'(x^*) = g'(x^*) - 1 \ne 0, xk+f(xk)=g(xk)=yx_k + f(x_k) = g(x_k) = y and f(y)=g(y)−y=z−yf(y) = g(y) - y = z - y, so the root step is −(y−xk)2/(z−2y+xk)-(y - x_k)^2/(z - 2y + x_k), the Aitken step. Claim 3 applies to ff, so the fixed-point form converges quadratically from close starts, whatever the size of ∣g′(x∗)∣|g'(x^*)|.

What is not proved

The behaviour far from the root, at multiple roots, and the pass counts of the examples are observations.

Back to Steffensen's method