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) with a0=0 and n≥2. For distinct points z1,…,zn the Weierstrass correction is Wi=p(zi)/(a0∏j=i(zi−zj)) and the total step is zi′=zi−Wi. Write ei=zi−xi and ε=maxi∣ei∣. 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 zi are distinct, then for each i
ei′=−eij=i∏(1+zi−zjej)−1.
Proof.p(zi)/a0=(zi−xi)∏j=i(zi−xj) and zi−xj=(zi−zj)+ej. Dividing by ∏j=i(zi−zj) gives Wi=ei∏j=i(1+ej/(zi−zj)), and ei′=ei−Wi. □
Theorem 2 (local quadratic convergence). Suppose the roots are simple with σ=mini=j∣xi−xj∣>0, and ε≤σ/(4n). Then the zi are distinct, and
ε′=imax∣ei′∣≤σ3.3(n−1)ε2≤0.83ε.
So the condition ε≤σ/(4n) is kept, the errors tend to 0, and the order is at least 2 with C=3.3(n−1)/σ.
Proof. For j=i, ∣zi−zj∣≥∣xi−xj∣−2ε≥σ−σ/(2n)≥σ/2>0, so the points are distinct and tj=ej/(zi−zj) satisfies ∣tj∣≤2ε/σ≤1/(2n). For complex tj with ∣tj∣≤τ,
j=i∏(1+tj)−1≤(1+τ)n−1−1≤(n−1)τ(1+τ)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), (1+τ)n−2≤e(n−2)/(2n)<e1/2<1.65. Lemma 1 gives ∣ei′∣≤ε⋅(n−1)(2ε/σ)⋅1.65=3.3(n−1)ε2/σ. Finally 3.3(n−1)ε/σ≤3.3(n−1)/(4n)<0.83. □
Remark (multiple roots). If xi=xj for some i=j, then σ=0 and Theorem 2 says nothing. Lemma 1 still holds: for a root of multiplicity m approached by m approximations at distances of the same order, the factors 1+ej/(zi−zj) do not tend to 1, so the error does not square. For a symmetric cluster zl=x∗+ρωl, ω=e2πi/m, with the other approximations exact, ∏l=1m−1(ρ−ρωl)=mρm−1, so W0=mρ(1+O(ρ)) and the new error is mm−1ρ+O(ρ2). This explains the ratio close to (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,…,zn, ∑iWi=∑izi+a1/a0. So after a total step with no frozen index, ∑izi′=−a1/a0=∑kxk.
Proof. Let q(z)=∏j(z−zj) and r=p/a0−q, a polynomial of degree at most n−1 whose coefficient of zn−1 is a1/a0+∑jzj. Lagrange interpolation at the n nodes zi is exact for r, and its leading coefficient is ∑ir(zi)/q′(zi)=∑ip(zi)/(a0∏j=i(zi−zj))=∑iWi, since q(zi)=0. □
Theorem 4 (termination and the stopping rule). The loop of L2 runs at most K sweeps, and each index is frozen at most once, so the procedure always stops after at most Kn evaluations of p. When an index is frozen at L4, the computed residual satisfies ∣p^(zi)∣≤βi where βi=4uμi is the running bound of Horner's rule.
Proof. The loops are bounded by K and n, and an active index costs one evaluation per sweep. The residual claim is the test of L4. That 4uμ 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 zi is an exact root of a polynomial whose coefficients differ from the ak by relative perturbations of order nu; 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. □
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.