# Lehmer–Schur algorithm

In mathematics, the Lehmer–Schur algorithm (named after Derrick Henry Lehmer and Issai Schur) is a root-finding algorithm extending the idea of enclosing roots like in the one-dimensional bisection method to the complex plane. It uses the Schur–Cohn test to test increasingly smaller disks for the presence or absence of roots. Alternative methods like Wilf's algorithm apply different tests to differently shaped areas but keep the idea of descent by subdivision.

## The Lehmer method

The Schur–Cohn test described below allows to determine if a polynomial has no roots in the unit disk and in some cases to determine the exact number of roots. The method proposed by Lehmer test for the presence of roots of a polynomial $p(z)$ on a collection of disks $D(c,\rho)$ in the complex plane by applying the Schur–Cohn test to the shifted and scaled polynomial $p(c+\rho z).$

Starting with c=0 and ρ=1, the radius in increased or decreased by factors of 2 until the annulus $\rho\le|z|\le2\rho$ is found to contain roots. Then the method is recursively applied to the 8 disks with center $c_k=\frac53\rho e^{i\frac{k\pi}4}$, $k=0,1,\dots,7$ and initial radius $\rho$ (originally $\frac56\rho$, which is slightly too small to cover the full annulus).

If after some recursions a small disk is found that contains only one root, this root is further approximated using Newton's method and then the polynomial is deflated by splitting off the corresponding linear factor. After that, the whole procedure is restarted.

### Schur transformation of polynomials

Consider, as before, a polynomial with complex coefficients

$p(z)=a_n z^n+\dots+a_1 z+a_0.$

Denote the reverse conjugate polynomial as $p^*(z)=z^n\bar p(z^{-1})=z^n\overline p(\bar z^{-1})$. Then the Schur transform $Tp$ of $p$ is the polynomial

$(Tp)(z)=\bar a_0p(z)-a_n p^*(z).$

Since the highest degree coefficients cancel, $\deg Tp<\deg p$, and the constant coefficient of $Tp$ is $\delta_1=(Tp)(0)=|a_0|^2-|a_n|^2.$

Lemma
If $\delta_1>0$, then $p$ and $Tp$ have the same number of roots inside the unit disk and on the unit circle.
If $\delta_1<0$, then $p$ has the same number of roots inside the unit disk as $Tp$ (and $p^*$) has outside, and both have the same number of roots on the unit circle.

This result is a consequence of Rouché's theorem.

### Schur–Cohn test

Apply the Schur transform repeatedly, $T^{k+1}p=T(T^kp)$, let K be the first index with $T^{K+1}p=0$. Denote $d_k=\deg T^kp$, $d_{k+1} and $\delta_k=(T^kp)(0)$.

Theorem
If $\delta_k>0$ for all k = 1, 2, ..., K, then $p$ has no roots inside the unit disk.
If $\delta_{\bar k}<0$ exactly once, $\delta_k>0$ for $k\ne \bar k$, then p has $d_{\bar k}$ roots inside the unit disk.

The first follows from the root number preserving property of the Schur transform. For the second, $T^{\bar k}p, \dots, T^Kp$ have no roots inside the unit disk or on the unit circle. $T^{\bar k}p$ has $d_{\bar k}=\deg T^{\bar k}p$ roots outside the unit disk, so that $T^{\bar k-1}p$ and thus also $T^{\bar k-2}p,\dots,Tp,p$ have the same number of roots inside the unit disk.

## Variations on the subdivision idea

### Wilf's global bisection algorithm

The aim of this algorithm is to find the roots of a function of one complex variable inside any rectangular region of the function's holomorphicity (i.e., analyticity).

The rectangle in question is quadrisected into four, congruent quarter rectangles. For each quarter, the image of the boundary is a curve in the complex plane. The argument principle is then applied to this path to find the winding number about the origin. Given that the function is analytic within each of these quarters, a nonzero winding number N (always an integer) identifies N zeros of the function inside the quarter in question by Rouché's theorem, each zero counted as many times as its multiplicity.

Analogously with the bisection method, the algorithm is then applied recursively to any quarter whose boundary has nonzero winding number to further refine the estimates of the zeros. The recursion is repeated until the zero-containing rectangles are either small enough that their centres give sufficiently accurate zero estimates or, alternatively, that another root-finding algorithm can be applied to the estimates to further refine them.

## References

• D. H. Lehmer, (April 1961), "A Machine Method for Solving Polynomial Equations", Journal of the ACM 8, (2): 151–162, doi:10.1145/321062.321064
• Herbert S. Wilf (1978), "A Global Bisection Algorithm for Computing the Zeros of Polynomials in the Complex Plane", Journal of the ACM 25 (3), doi:10.1145/322077.322084