Algorithm Search⌘K

Proofs: Durand-Kerner method

These are the human proofs of Durand-Kerner method, at full length.

Local quadratic convergence and termination of the Durand-Kerner 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 the Weierstrass correction is Wi=p(zi)/(a0∏j≠i(zi−zj))W_i = p(z_i)/(a_0 \prod_{j \ne i}(z_i - z_j)) and the total step is zi′=zi−Wiz_i' = z_i - W_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 the ziz_i are distinct, then for each ii

ei′=−ei(∏j≠i(1+ejzi−zj)−1).e_i' = -e_i\left(\prod_{j \ne i}\left(1 + \frac{e_j}{z_i - z_j}\right) - 1\right).

Proof. p(zi)/a0=(zi−xi)∏j≠i(zi−xj)p(z_i)/a_0 = (z_i - x_i)\prod_{j \ne i}(z_i - x_j) and zi−xj=(zi−zj)+ejz_i - x_j = (z_i - z_j) + e_j. Dividing by ∏j≠i(zi−zj)\prod_{j \ne i}(z_i - z_j) gives Wi=ei∏j≠i(1+ej/(zi−zj))W_i = e_i \prod_{j \ne i}(1 + e_j/(z_i - z_j)), and ei′=ei−Wie_i' = e_i - W_i. □\square

Theorem 2 (local quadratic 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 ziz_i are distinct, and

ε′=max⁡i∣ei′∣≤3.3 (n−1)σ ε2≤0.83 ε.\varepsilon' = \max_i |e_i'| \le \frac{3.3\,(n - 1)}{\sigma}\,\varepsilon^2 \le 0.83\,\varepsilon .

So the condition ε≤σ/(4n)\varepsilon \le \sigma/(4n) is kept, the errors tend to 0, and the order is at least 2 with C=3.3(n−1)/σC = 3.3(n - 1)/\sigma.

Proof. For j≠ij \ne i, ∣zi−zj∣≥∣xi−xj∣−2ε≥σ−σ/(2n)≥σ/2>0|z_i - z_j| \ge |x_i - x_j| - 2\varepsilon \ge \sigma - \sigma/(2n) \ge \sigma/2 > 0, so the points are distinct and tj=ej/(zi−zj)t_j = e_j/(z_i - z_j) satisfies ∣tj∣≤2ε/σ≤1/(2n)|t_j| \le 2\varepsilon/\sigma \le 1/(2n). For complex tjt_j with ∣tj∣≤τ|t_j| \le \tau,

∣∏j≠i(1+tj)−1∣≤(1+τ)n−1−1≤(n−1)τ(1+τ)n−2,\Big|\prod_{j \ne i}(1 + t_j) - 1\Big| \le (1 + \tau)^{n-1} - 1 \le (n - 1)\tau(1 + \tau)^{n-2},

the first step by expanding the product and bounding each term by its modulus, the second by the mean value theorem. With τ=2ε/σ≤1/(2n)\tau = 2\varepsilon/\sigma \le 1/(2n), (1+τ)n−2≤e(n−2)/(2n)<e1/2<1.65(1 + \tau)^{n-2} \le e^{(n-2)/(2n)} < e^{1/2} < 1.65. Lemma 1 gives ∣ei′∣≤ε⋅(n−1)(2ε/σ)⋅1.65=3.3(n−1)ε2/σ|e_i'| \le \varepsilon \cdot (n - 1)(2\varepsilon/\sigma) \cdot 1.65 = 3.3(n - 1)\varepsilon^2/\sigma. Finally 3.3(n−1)ε/σ≤3.3(n−1)/(4n)<0.833.3(n - 1)\varepsilon/\sigma \le 3.3(n - 1)/(4n) < 0.83. □\square

Remark (multiple roots). If xi=xjx_i = x_j for some i≠ji \ne j, then σ=0\sigma = 0 and Theorem 2 says nothing. Lemma 1 still holds: for a root of multiplicity mm approached by mm approximations at distances of the same order, the factors 1+ej/(zi−zj)1 + e_j/(z_i - z_j) do not tend to 1, so the error does not square. For a symmetric cluster zl=x∗+ρ ωlz_l = x^* + \rho\,\omega^l, ω=e2πi/m\omega = e^{2\pi i/m}, with the other approximations exact, ∏l=1m−1(ρ−ρωl)=mρm−1\prod_{l=1}^{m-1}(\rho - \rho\omega^l) = m\rho^{m-1}, so W0=ρm(1+O(ρ))W_0 = \frac{\rho}{m}(1 + O(\rho)) and the new error is m−1mρ+O(ρ2)\frac{m - 1}{m}\rho + O(\rho^2). This explains the ratio close to (m−1)/m(m - 1)/m seen on the main page; that the cluster becomes symmetric is observed, not proved.

Lemma 3 (sum of the roots). For distinct z1,…,znz_1, \dots, z_n, ∑iWi=∑izi+a1/a0\sum_i W_i = \sum_i z_i + a_1/a_0. So after a total step with no frozen index, ∑izi′=−a1/a0=∑kxk\sum_i z_i' = -a_1/a_0 = \sum_k x_k.

Proof. Let q(z)=∏j(z−zj)q(z) = \prod_j(z - z_j) and r=p/a0−qr = p/a_0 - q, a polynomial of degree at most n−1n - 1 whose coefficient of zn−1z^{n-1} is a1/a0+∑jzja_1/a_0 + \sum_j z_j. Lagrange interpolation at the nn nodes ziz_i is exact for rr, and its leading coefficient is ∑ir(zi)/q′(zi)=∑ip(zi)/(a0∏j≠i(zi−zj))=∑iWi\sum_i r(z_i)/q'(z_i) = \sum_i p(z_i)/(a_0 \prod_{j \ne i}(z_i - z_j)) = \sum_i W_i, since q(zi)=0q(z_i) = 0. □\square

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 the procedure always stops after at most KnKn evaluations of pp. When an index is frozen at L4, the computed residual satisfies ∣p^(zi)∣≤βi|\hat p(z_i)| \le \beta_i where βi=4uμi\beta_i = 4u\mu_i is the running bound of Horner's rule.

Proof. The loops are bounded by KK and nn, and an active index costs one evaluation per sweep. The residual claim is the test of L4. That 4uμ4u\mu bounds the rounding error of complex Horner evaluation to first order follows the running error analysis of Higham, Section 5.1, with the factor 4 covering the error of a complex multiply and add. In this case ziz_i is an exact root of a polynomial whose coefficients differ from the aka_k by relative perturbations of order nunu; this backward error statement is all that the residual test gives, and the forward error is then bounded by the condition number of the root times that perturbation. □\square

Global convergence is not claimed. Reinke, Schleicher and Stoll (2023) exhibited polynomials with open sets of starting vectors that never converge, so no proof can cover every start.

Back to Durand-Kerner method