Algorithm Search⌘K

Proofs: Muller's method

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

Muller's method ends, satisfies the cubic error relation, and converges locally with order 1.839 full

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

We write xk−2,xk−1,xkx_{k-2}, x_{k-1}, x_k for the three points at the start of a pass and xk+1x_{k+1} for the new point x3x_3 of line L9; ej=xj−x∗e_j = x_j - x^*. Divided differences of an analytic ff at points in a convex set DD satisfy the Hermite-Genocchi formula

f[z0,…,zr]=∫Σrf(r)(t0z0+⋯+trzr) dt,f[z_0, \ldots, z_r] = \int_{\Sigma_r} f^{(r)}(t_0 z_0 + \cdots + t_r z_r)\, dt,

over the simplex Σr={ti≥0,∑ti=1}\Sigma_r = \{t_i \ge 0, \sum t_i = 1\} of volume 1/r!1/r!. It holds for complex points because it follows from integrating derivatives along straight segments, and it gives ∣f[z0,…,zr]∣≤max⁡D∣f(r)∣/r!|f[z_0, \ldots, z_r]| \le \max_D |f^{(r)}|/r!.

Claim 1: termination and the flags

Each pass returns or increases kk, so the loop ends after at most kmax⁡k_{\max} passes, with 3 evaluations at line L1 and one per pass at line L10. The flags record the tests of lines L1, L10 and L11.

Claim 2: the error relation

Let PP be the parabola of the pass, which interpolates ff at xk−2,xk−1,xkx_{k-2}, x_{k-1}, x_k, and let xk+1x_{k+1} be a root of PP. The Newton form of the interpolation error gives, for any xx,

f(x)−P(x)=f[xk−2,xk−1,xk,x](x−xk−2)(x−xk−1)(x−xk).f(x) - P(x) = f[x_{k-2}, x_{k-1}, x_k, x](x - x_{k-2})(x - x_{k-1})(x - x_k).

At x=xk+1x = x_{k+1}, P(xk+1)=0P(x_{k+1}) = 0. On the other side, f(xk+1)=f(xk+1)−f(x∗)=f[x∗,xk+1] ek+1f(x_{k+1}) = f(x_{k+1}) - f(x^*) = f[x^*, x_{k+1}]\,e_{k+1} with f[x∗,xk+1]=∫01f′(x∗+tek+1) dtf[x^*, x_{k+1}] = \int_0^1 f'(x^* + t e_{k+1})\,dt. Hence

f[x∗,xk+1] ek+1=f[xk−2,xk−1,xk,xk+1] (xk+1−xk−2)(xk+1−xk−1)(xk+1−xk).f[x^*, x_{k+1}]\,e_{k+1} = f[x_{k-2}, x_{k-1}, x_k, x_{k+1}]\,(x_{k+1} - x_{k-2})(x_{k+1} - x_{k-1})(x_{k+1} - x_k).

As all points tend to x∗x^*, the left factor tends to f′(x∗)f'(x^*), the divided difference tends to f′′′(x∗)/6f'''(x^*)/6, and xk+1−xj=ek+1−ejx_{k+1} - x_j = e_{k+1} - e_j with ek+1=o(ej)e_{k+1} = o(e_j), so ek+1≈−f′′′(x∗)6f′(x∗)ekek−1ek−2e_{k+1} \approx -\frac{f'''(x^*)}{6f'(x^*)}e_k e_{k-1}e_{k-2}.

Claim 3: local convergence

Let ff be analytic on the closed disc BR={∣x−x∗∣≤R}B_R = \{|x - x^*| \le R\} with f(x∗)=0f(x^*) = 0 and μ=∣f′(x∗)∣>0\mu = |f'(x^*)| > 0. Let Mj=max⁡BR∣f(j)∣/j!M_j = \max_{B_R}|f^{(j)}|/j! for j=2,3j = 2, 3. Choose ρ>0\rho > 0 with 7ρ≤R7\rho \le R, with ∣f′(x)−f′(x∗)∣≤μ/4|f'(x) - f'(x^*)| \le \mu/4 on B7ρB_{7\rho}, with 2ρM2≤μ/42\rho M_2 \le \mu/4, and with 4⋅343 M33μρ2≤12\frac{4 \cdot 343\, M_3}{3\mu}\rho^2 \le \frac12.

Suppose the three current points are distinct and lie in BρB_\rho, and let ε=max⁡(∣ek−2∣,∣ek−1∣,∣ek∣)≤ρ\varepsilon = \max(|e_{k-2}|, |e_{k-1}|, |e_k|) \le \rho.

The step is defined and short. By line L5, b=f[xk−1,xk]+(xk−xk−1)f[xk−2,xk−1,xk]b = f[x_{k-1}, x_k] + (x_k - x_{k-1}) f[x_{k-2}, x_{k-1}, x_k]. The first term is the mean of f′f' over a segment in BρB_\rho, so it is within μ/4\mu/4 of f′(x∗)f'(x^*). The second has modulus at most 2ρM2≤μ/42\rho M_2 \le \mu/4. So ∣b∣≥μ/2|b| \ge \mu/2. Since ∣b+s∣2+∣b−s∣2=2∣b∣2+2∣s∣2≥2∣b∣2|b + s|^2 + |b - s|^2 = 2|b|^2 + 2|s|^2 \ge 2|b|^2, the denominator chosen in line L7 has ∣E∣≥∣b∣≥μ/2|E| \ge |b| \ge \mu/2, so line L8 does not fail, and ∣h∣=2∣fk∣/∣E∣≤4∣fk∣/μ|h| = 2|f_k|/|E| \le 4|f_k|/\mu. As ∣fk∣=∣f[x∗,xk]∣ ∣ek∣≤54μ∣ek∣|f_k| = |f[x^*, x_k]|\,|e_k| \le \frac54\mu|e_k|, we get ∣h∣≤5∣ek∣|h| \le 5|e_k| and ∣ek+1∣≤6ε|e_{k+1}| \le 6\varepsilon.

The new error is small. All four points lie in B6ρB_{6\rho}. By Claim 2, with ∣f[x∗,xk+1]∣≥34μ|f[x^*, x_{k+1}]| \ge \frac34\mu, ∣f[xk−2,xk−1,xk,xk+1]∣≤M3|f[x_{k-2}, x_{k-1}, x_k, x_{k+1}]| \le M_3 and ∣xk+1−xj∣≤∣ek+1∣+∣ej∣≤7ε|x_{k+1} - x_j| \le |e_{k+1}| + |e_j| \le 7\varepsilon,

∣ek+1∣≤4M33μ 343 ε3≤12ε.|e_{k+1}| \le \frac{4M_3}{3\mu}\,343\,\varepsilon^3 \le \tfrac12\varepsilon .

So the new point is again in BρB_\rho, with error at most half the largest of the three previous errors. By induction all iterates stay in BρB_\rho and the largest error over three consecutive points halves at least every three passes, so ek→0e_k \to 0. Once ∣ek+1∣≤∣ej∣|e_{k+1}| \le |e_j| for the three previous jj, the factors satisfy ∣xk+1−xj∣≤2∣ej∣|x_{k+1} - x_j| \le 2|e_j|, which gives ∣ek+1∣≤K∣ek∣∣ek−1∣∣ek−2∣|e_{k+1}| \le K|e_k||e_{k-1}||e_{k-2}| with K=32M3/(3μ)K = 32M_3/(3\mu).

If two of the three points coincide, line L3 stops; if fk+1=0f_{k+1} = 0 the program returns an exact root.

Claim 4: the order

Let ϵk=log⁡(1/∣ek∣)\epsilon_k = \log(1/|e_k|). Claim 2 gives ϵk+1=ϵk+ϵk−1+ϵk−2+c+o(1)\epsilon_{k+1} = \epsilon_k + \epsilon_{k-1} + \epsilon_{k-2} + c + o(1) with c=log⁡∣6f′(x∗)/f′′′(x∗)∣c = \log|6f'(x^*)/f'''(x^*)| when f′′′(x∗)≠0f'''(x^*) \ne 0. The solutions of this linear recurrence grow like qkq^k where qq is the dominant root of q3=q2+q+1q^3 = q^2 + q + 1, q=1.8392867552…q = 1.8392867552\ldots, and then ϵk+1/ϵk→q\epsilon_{k+1}/\epsilon_k \to q, which is order qq.

What is not proved

Global behaviour, the behaviour at multiple roots and the iteration counts of the examples are observations.

Back to Muller's method