Algorithm Search⌘K

Proofs: Lehmer-Schur method

These are the human proofs of Lehmer-Schur method, at full length.

The Lehmer-Schur method keeps a disc that contains a zero and shrinks it by at least 33/64 per pass full

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

Write D(c,r)D(c, r) for the open disc, ρ=1316\rho = \frac{13}{16}, β=716\beta = \frac{7}{16}, ωj\omega_j for the eight directions of the implementation, and F={1,3332,3132,6564,6364}F = \{1, \frac{33}{32}, \frac{31}{32}, \frac{65}{64}, \frac{63}{64}\} for the radius factors tried by COUNT. All factors lie in [3132,3332][\frac{31}{32}, \frac{33}{32}]. The Schur-Cohn test is exact: when it returns a number, that number is the count of zeros in the open disc (see the Schur-Cohn correctness proof).

Lemma 1: the starting disc

Let M=max⁡i<n∣ai/an∣M = \max_{i < n} |a_i/a_n|. Every zero zz of pp satisfies ∣z∣<1+M≤B|z| < 1 + M \le B, so D(0,B)D(0, B) contains all nn zeros.

Proof. If ∣z∣≥1+M|z| \ge 1 + M, then ∣z∣>1|z| > 1 and

∣p(z)anzn∣≥1−∑i<nM∣z∣i−n>1−M∣z∣−1≥0,\Bigl|\frac{p(z)}{a_n z^n}\Bigr| \ge 1 - \sum_{i<n} M|z|^{i-n} > 1 - \frac{M}{|z| - 1} \ge 0,

so p(z)≠0p(z) \ne 0. The implementation uses ∣Re⁡x∣+∣Im⁡x∣≥∣x∣|\operatorname{Re} x| + |\operatorname{Im} x| \ge |x| for x=ai/anx = a_i/a_n, so its BB is at least 1+M1 + M. □\square

Lemma 2: the covering

Let zz satisfy 3164r≤∣z−c∣<r\frac{31}{64}r \le |z - c| < r. Then for some jj, and for every f∈[3132,3332]f \in [\frac{31}{32}, \frac{33}{32}], ∣z−(c+ρrωj)∣<βfr|z - (c + \rho r\omega_j)| < \beta f r.

Proof. Scale so that c=0c = 0 and r=1r = 1, and write z=seiθz = s e^{i\theta} with 3164≤s<1\frac{31}{64} \le s < 1. The directions have arguments exactly kπ/4k\pi/4, because the diagonal ones have equal parts ±181256\pm\frac{181}{256}; their moduli are 11 or 1812562∈[0.99989,1]\frac{181}{256}\sqrt2 \in [0.99989, 1], so the centres ρωj\rho\omega_j have modulus ρj∈[0.8124,0.8125]\rho_j \in [0.8124, 0.8125]. Choose jj with ∣θ−jπ/4∣≤π/8|\theta - j\pi/4| \le \pi/8. Then

∣z−ρjeijπ/4∣2=s2+ρj2−2sρjcos⁡(θ−jπ/4)≤g(s):=s2+0.81252−2s⋅0.8124⋅0.9238,|z - \rho_j e^{ij\pi/4}|^2 = s^2 + \rho_j^2 - 2s\rho_j\cos(\theta - j\pi/4) \le g(s) := s^2 + 0.8125^2 - 2s \cdot 0.8124 \cdot 0.9238,

using cos⁡(π/8)>0.9238\cos(\pi/8) > 0.9238. The function gg is convex, so on [3164,1][\frac{31}{64}, 1] it is at most max⁡(g(3164),g(1))<max⁡(0.16774,0.1592)=0.16774\max(g(\frac{31}{64}), g(1)) < \max(0.16774, 0.1592) = 0.16774. On the other hand (βf)2≥(716⋅3132)2>0.1796(\beta f)^2 \ge (\frac{7}{16} \cdot \frac{31}{32})^2 > 0.1796. Hence ∣z−ρjeijπ/4∣<βf|z - \rho_j e^{ij\pi/4}| < \beta f. □\square

Lemma 3: one pass keeps the invariant

Suppose that at the start of a pass D(c,r)D(c, r) contains at least one zero and count\mathrm{count} is the number of zeros in it. If the pass does not return, the same holds at its end, with the new radius at most 3364\frac{33}{64} times the old one.

Proof. Line L4 tests D(c,fr/2)D(c, fr/2) for f∈Ff \in F in turn. If all are singular the pass returns. Otherwise let r′=fr/2r' = fr/2 be the radius of the first regular test and mm its count.

If m≥1m \ge 1, the new disc D(c,r′)D(c, r') contains m≥1m \ge 1 zeros, exactly, and r′≤3364rr' \le \frac{33}{64}r.

If m=0m = 0, no zero lies in D(c,r′)D(c, r'), and r′≥3164rr' \ge \frac{31}{64}r. By the invariant some zero zz lies in D(c,r)D(c, r), so 3164r≤r′≤∣z−c∣<r\frac{31}{64}r \le r' \le |z - c| < r. By Lemma 2 there is a jj such that z∈D(cj,βfr)z \in D(c_j, \beta f r) for every f∈Ff \in F. Lines L5 and L6 test the discs in order. If one of them, possibly before reaching jj, returns a regular count m≥1m \ge 1, the new disc contains exactly mm zeros and has radius βfr≤716⋅3332r=231512r<3364r\beta f r \le \frac{7}{16} \cdot \frac{33}{32} r = \frac{231}{512} r < \frac{33}{64} r. If none does, then in particular the disc jj gave no regular count with m≥1m \ge 1; since it contains zz, a regular test there would have returned m≥1m \ge 1, so all five of its tests were singular, and the pass returns "failure" at L7. □\square

Theorem

(a) If the method returns "converged", then D(c,r)D(c, r) with r≤δr \le \delta contains exactly count≥1\mathrm{count} \ge 1 zeros of pp; in particular some zero zz has ∣z−c∣<r≤δ|z - c| < r \le \delta.

(b) The method returns after at most kmax⁡k_{\max} passes, and it returns "converged" after at most ⌈log⁡(B/δ)/log⁡(64/33)⌉\lceil \log(B/\delta)/\log(64/33) \rceil passes unless some test is singular for all five radii.

(c) "Failure" and "singular" are returned only when some test is singular for all five radii.

Proof. By Lemma 1 the invariant holds at the first pass, with count=n\mathrm{count} = n. By Lemma 3 and induction it holds at the start of every pass, which gives (a) at line L3. After kk passes that do not return, r≤B(33/64)kr \le B(33/64)^k, which is at most δ\delta once k≥log⁡(B/δ)/log⁡(64/33)k \ge \log(B/\delta)/\log(64/33); then line L3 returns, which gives (b) together with the bound kmax⁡k_{\max} on the loop. Lemma 3 shows (c). □\square

Remark on the singular case

A test on D(c′,r′′)D(c', r'') is singular when p(c′+r′′w)p(c' + r'' w) and its reciprocal have a common zero, for example a zero of pp on the circle, or when a constant term vanishes by accident. Five radii are tried; for all five to fail the polynomial must meet one of these conditions five times, which never happened in the tests. The proof does not rule it out, and the method then reports it instead of returning a wrong disc.

Back to Lehmer-Schur method