Algorithm Search⌘K

Proofs: Aberth-Ehrlich method

These are the human proofs of Aberth-Ehrlich method, at full length.

Local cubic convergence, termination and the multiple-root rate of the Aberth-Ehrlich method full

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

Let p(z)=a0∏k=1n(z−xk)p(z) = a_0 \prod_{k=1}^{n}(z - x_k) with a0≠0a_0 \ne 0 and n≥2n \ge 2. For distinct points z1,…,znz_1, \dots, z_n with p(zi)≠0p(z_i) \ne 0, the total step is zi′=zi−1/(p′(zi)/p(zi)−Siz)z_i' = z_i - 1/(p'(z_i)/p(z_i) - S_i^z) with Siz=∑j≠i1/(zi−zj)S_i^z = \sum_{j \ne i} 1/(z_i - z_j), which equals zi−p/(p′−pSiz)z_i - p/(p' - pS_i^z) at ziz_i. Write ei=zi−xie_i = z_i - x_i and ε=max⁡i∣ei∣\varepsilon = \max_i |e_i|. Line numbers refer to the pseudocode on the main page. We work in exact arithmetic except in Theorem 4.

Lemma 1 (error formula). If zi≠xkz_i \ne x_k for all kk and the zjz_j are distinct, put

Si=∑j≠i(1zi−xj−1zi−zj)=−∑j≠iej(zi−xj)(zi−zj).S_i = \sum_{j \ne i}\left(\frac{1}{z_i - x_j} - \frac{1}{z_i - z_j}\right) = -\sum_{j \ne i}\frac{e_j}{(z_i - x_j)(z_i - z_j)} .

Then, if 1+eiSi≠01 + e_i S_i \ne 0, ei′=ei2Si/(1+eiSi)e_i' = e_i^2 S_i/(1 + e_i S_i).

Proof. p′(zi)/p(zi)=∑k1/(zi−xk)=1/ei+∑j≠i1/(zi−xj)p'(z_i)/p(z_i) = \sum_k 1/(z_i - x_k) = 1/e_i + \sum_{j \ne i} 1/(z_i - x_j), so p′/p−Siz=1/ei+Sip'/p - S_i^z = 1/e_i + S_i. The second form of SiS_i follows from 1/(zi−xj)−1/(zi−zj)=((zi−zj)−(zi−xj))/((zi−xj)(zi−zj))1/(z_i - x_j) - 1/(z_i - z_j) = ((z_i - z_j) - (z_i - x_j))/((z_i - x_j)(z_i - z_j)) and xj−zj=−ejx_j - z_j = -e_j. Then ei′=ei−1/(1/ei+Si)=ei−ei/(1+eiSi)=ei2Si/(1+eiSi)e_i' = e_i - 1/(1/e_i + S_i) = e_i - e_i/(1 + e_iS_i) = e_i^2S_i/(1 + e_iS_i). □\square

If zi=xiz_i = x_i exactly, then p(zi)=0p(z_i) = 0, L4 freezes ziz_i, and its error stays 0.

Theorem 2 (local cubic convergence). Suppose the roots are simple with σ=min⁡i≠j∣xi−xj∣>0\sigma = \min_{i \ne j}|x_i - x_j| > 0 and ε≤σ/(4n)\varepsilon \le \sigma/(4n). Then the zjz_j are distinct, no ziz_i equals a root xjx_j with j≠ij \ne i, the step is defined, and

ε′≤3.2 (n−1)σ2 ε3≤ε5n.\varepsilon' \le \frac{3.2\,(n - 1)}{\sigma^2}\,\varepsilon^3 \le \frac{\varepsilon}{5n}.

So the condition is kept, and the method converges with order at least 3 and C=3.2(n−1)/σ2C = 3.2(n - 1)/\sigma^2.

Proof. For j≠ij \ne i: ∣zi−xj∣≥σ−ε≥34σ|z_i - x_j| \ge \sigma - \varepsilon \ge \frac34\sigma and ∣zi−zj∣≥σ−2ε≥12σ|z_i - z_j| \ge \sigma - 2\varepsilon \ge \frac12\sigma, both positive. So ∣Si∣≤(n−1)ε⋅83σ2|S_i| \le (n - 1)\varepsilon \cdot \frac{8}{3\sigma^2} and ∣eiSi∣≤8(n−1)3ε2σ2≤8(n−1)3⋅16n2<16n≤16|e_iS_i| \le \frac{8(n - 1)}{3}\frac{\varepsilon^2}{\sigma^2} \le \frac{8(n - 1)}{3 \cdot 16 n^2} < \frac{1}{6n} \le \frac16. Hence 1+eiSi≠01 + e_iS_i \ne 0, the denominator p′−pSiz=p(1/ei+Si)p' - pS_i^z = p(1/e_i + S_i) is nonzero, and by Lemma 1

∣ei′∣≤ε2⋅8(n−1)ε3σ21−16=3.2(n−1)ε3σ2.|e_i'| \le \frac{\varepsilon^2 \cdot \frac{8(n - 1)\varepsilon}{3\sigma^2}}{1 - \frac16} = \frac{3.2(n - 1)\varepsilon^3}{\sigma^2}.

Finally 3.2(n−1)ε2/σ2≤3.2(n−1)/(16n2)<1/(5n)3.2(n - 1)\varepsilon^2/\sigma^2 \le 3.2(n - 1)/(16n^2) < 1/(5n). □\square

Theorem 3 (symmetric cluster at a multiple root). Let x∗x^* be a root of multiplicity m≥2m \ge 2, p(z)=(z−x∗)mh(z)p(z) = (z - x^*)^m h(z) with h(x∗)≠0h(x^*) \ne 0, and let mm of the approximations be zj=x∗+ρ ωjz_j = x^* + \rho\,\omega^j, j=0,…,m−1j = 0, \dots, m - 1, with ω=e2πi/m\omega = e^{2\pi i/m} and ρ≠0\rho \ne 0 small. Then, as ρ→0\rho \to 0 with the other approximations fixed away from x∗x^*, each of these takes the step to zj′=x∗+m−1m+1ρ ωj+O(ρ2)z_j' = x^* + \frac{m - 1}{m + 1}\rho\,\omega^j + O(\rho^2).

Proof. Take j=0j = 0 by symmetry, so z0−x∗=ρz_0 - x^* = \rho. Then p′/p=m/ρ+O(1)p'/p = m/\rho + O(1). The other cluster points give ∑l=1m−11/(ρ−ρωl)=1ρ∑l=1m−111−ωl=m−12ρ\sum_{l = 1}^{m-1} 1/(\rho - \rho\omega^l) = \frac{1}{\rho}\sum_{l=1}^{m-1}\frac{1}{1 - \omega^l} = \frac{m - 1}{2\rho}, by the identity ∑l=1m−11/(1−ωl)=(m−1)/2\sum_{l=1}^{m-1} 1/(1 - \omega^l) = (m - 1)/2 (pair ll with m−lm - l: 11−w+11−wˉ=1\frac{1}{1 - w} + \frac{1}{1 - \bar w} = 1 for ∣w∣=1|w| = 1, w≠1w \ne 1). The approximations away from x∗x^* contribute O(1)O(1). So p′/p−Sz=m+12ρ+O(1)p'/p - S^z = \frac{m + 1}{2\rho} + O(1) and the step is 2ρm+1(1+O(ρ))\frac{2\rho}{m + 1}(1 + O(\rho)), which gives z0′−x∗=ρ−2ρm+1+O(ρ2)=m−1m+1ρ+O(ρ2)z_0' - x^* = \rho - \frac{2\rho}{m + 1} + O(\rho^2) = \frac{m - 1}{m + 1}\rho + O(\rho^2). □\square

For m=3m = 3 the factor is 1/21/2, which is the ratio observed on (z−1)3(z+2)(z - 1)^3(z + 2) on the main page. The same computation for the Durand-Kerner correction gives (m−1)/m(m - 1)/m. That the cluster becomes symmetric is observed, not proved.

Theorem 4 (termination and the stopping rule). The loop of L2 runs at most KK sweeps and each index is frozen at most once, so at most KnKn evaluations of pp (and as many of p′p') are made. A root frozen at L4 has computed residual at most the running bound βi=4uμi\beta_i = 4u\mu_i of Horner's rule, so it is the exact root of a polynomial whose coefficients differ from the given ones by relative amounts of order nunu, to first order (Higham, Section 5.1). Its forward error is then bounded by the condition number of the root times that perturbation, and nothing better is claimed.

Proof. The loops are bounded, and an active index costs one evaluation of pp and p′p' per sweep. The residual claim is the test of L4, and the backward reading is the running error analysis of Horner's rule. □\square

Global convergence from the circle start of L1 is not claimed.

Back to Aberth-Ehrlich method