Lehmer–Schur algorithm
In mathematics, the Lehmer–Schur algorithm (named after Derrick Henry Lehmer and Issai Schur) is a root-finding algorithm for complex polynomials, 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.
Schur-Cohn algorithm
This algorithm allows one to find the distribution of the roots of a complex polynomial with respect to the unit circle in the complex plane.[1][2][3] It is based on two auxiliary polynomials, introduced by Schur.[4]
For a complex polynomial [math]\displaystyle{ p }[/math] of degree [math]\displaystyle{ n }[/math] its reciprocal adjoint polynomial [math]\displaystyle{ p^{*} }[/math] is defined by [math]\displaystyle{ p^{*}(z) = z^{n}\overline{p(\bar{z}^{-1})} }[/math] and its Schur Transform [math]\displaystyle{ Tp }[/math] by
- [math]\displaystyle{ Tp =\overline{p(0)}p-\overline{p^*(0)}p^*, }[/math]
where a bar denotes complex conjugation.
So, if [math]\displaystyle{ p(z) = a_{n}z^{n}+\cdots+a_{1}z +a_{0} }[/math] with [math]\displaystyle{ a_n\neq 0 }[/math], then [math]\displaystyle{ p^{*}(z) = \bar{a}_{0}z^{n}+ \bar{a}_{1}z^{n-1}+\cdots+\bar{a}_{n} }[/math], with leading zero-terms, if any, removed. The coefficients of [math]\displaystyle{ Tp }[/math] can therefore be directly expressed in those of [math]\displaystyle{ p }[/math] and, since one or more leading coefficients cancel, [math]\displaystyle{ Tp }[/math] has lower degree than [math]\displaystyle{ p }[/math]. The roots of [math]\displaystyle{ p }[/math], [math]\displaystyle{ p^{*} }[/math], and [math]\displaystyle{ Tp }[/math] are related as follows.
- Lemma
Let [math]\displaystyle{ p }[/math] be a complex polynomial and [math]\displaystyle{ \delta = (Tp)(0) }[/math].
- The roots of [math]\displaystyle{ p^{*} }[/math], including their multiplicities, are the images under inversion in the unit circle of the non-zero roots of [math]\displaystyle{ p }[/math].
- If [math]\displaystyle{ \delta \neq 0 }[/math], then [math]\displaystyle{ p,\,p^* }[/math], and [math]\displaystyle{ Tp }[/math] share roots on the unit circle, including their multiplicities.
- If [math]\displaystyle{ \delta\gt 0 }[/math], then [math]\displaystyle{ p }[/math] and [math]\displaystyle{ Tp }[/math] have the same number of roots inside the unit circle.
- If [math]\displaystyle{ \delta\lt 0 }[/math], then [math]\displaystyle{ p^* }[/math] and [math]\displaystyle{ Tp }[/math] have the same number of roots inside the unit circle.
- Proof
For [math]\displaystyle{ z\neq 0 }[/math] we have [math]\displaystyle{ p^*(z)=z^n \overline{p(z/|z|^2)} }[/math] and, in particular, [math]\displaystyle{ |p^*(z)| = |p(z)| }[/math] for [math]\displaystyle{ |z|=1 }[/math]. Also [math]\displaystyle{ \delta \neq 0 }[/math] implies [math]\displaystyle{ |p(0)| \neq |p^*(0)| }[/math]. From this and the definitions above the first two statements follow. The other two statements are a consequence of Rouché's theorem applied on the unit circle to the functions [math]\displaystyle{ \overline{p(0)}p(z)/r(z) }[/math] and [math]\displaystyle{ -\overline{p^*(0)}p^*(z)/r(z) }[/math] , where [math]\displaystyle{ r }[/math] is a polynomial that has as its roots the roots of [math]\displaystyle{ p }[/math] on the unit circle, with the same multiplicities. □
For a more accessible representation of the lemma, let [math]\displaystyle{ n^-_p,n^0_p }[/math], and [math]\displaystyle{ n^+_p }[/math] denote the number of roots of [math]\displaystyle{ p }[/math] inside, on, and outside the unit circle respectively and similarly for [math]\displaystyle{ Tp }[/math]. Moreover let [math]\displaystyle{ d }[/math] be the difference in degree of [math]\displaystyle{ p }[/math] and [math]\displaystyle{ Tp }[/math]. Then the lemma implies that [math]\displaystyle{ (n^-_p,\;n^0_p,\;n^+_p)=(n^-_{Tp},\;n^0_{Tp},\;n^+_{Tp}+d) }[/math] if [math]\displaystyle{ \delta\gt 0 }[/math] and [math]\displaystyle{ (n^-_p,\;n^0_p,\;n^+_p)=(n^+_{Tp}+d,\;n^0_{Tp},\;n^-_{Tp}) }[/math] if [math]\displaystyle{ \delta\lt 0 }[/math] (note the interchange of [math]\displaystyle{ ^+ }[/math] and [math]\displaystyle{ ^- }[/math]).
Now consider the sequence of polynomials [math]\displaystyle{ T^{k}p }[/math] [math]\displaystyle{ (k=0,1,\ldots) }[/math], where [math]\displaystyle{ T^0 p=p }[/math] and [math]\displaystyle{ T^{k+1}p=T(T^{k}p) }[/math]. Application of the foregoing to each pair of consecutive members of this sequence gives the following result.
- Theorem[Schur-Cohn test]
Let [math]\displaystyle{ p }[/math] be a complex polynomial with [math]\displaystyle{ Tp\neq0 }[/math] and let [math]\displaystyle{ K }[/math] be the smallest number such that [math]\displaystyle{ T^{K+1}p=0 }[/math]. Moreover let [math]\displaystyle{ \delta_k=(T^{k}p)(0) }[/math] for [math]\displaystyle{ k=1,\ldots,K }[/math] and [math]\displaystyle{ d_{k}= \deg T^{k}p }[/math] for [math]\displaystyle{ k=0,\ldots,K }[/math].
- All roots of [math]\displaystyle{ p }[/math] lie inside the unit circle if and only if
[math]\displaystyle{ \delta_1\lt 0 }[/math], [math]\displaystyle{ \delta_k\gt 0 }[/math] for [math]\displaystyle{ k=2,\ldots,K }[/math], and [math]\displaystyle{ d_{K}=0 }[/math].
- All roots of [math]\displaystyle{ p }[/math] lie outside the unit circle if and only if
[math]\displaystyle{ \delta_k\gt 0 }[/math] for [math]\displaystyle{ k=1,\ldots,K }[/math] and [math]\displaystyle{ d_{K}=0 }[/math].
- If [math]\displaystyle{ d_{K}=0 }[/math] and if [math]\displaystyle{ \delta_k \lt 0 }[/math] for [math]\displaystyle{ k=k_0,k_1 \ldots k_m }[/math] (in increasing order) and [math]\displaystyle{ \delta_k \gt 0 }[/math] otherwise, then [math]\displaystyle{ p }[/math] has no roots on the unit circle and the number of roots of [math]\displaystyle{ p }[/math] inside the unit circle is
- [math]\displaystyle{ \sum_{i=0}^m (-1)^i d_{k_i-1} }[/math].
More generally, the distribution of the roots of a polynomial [math]\displaystyle{ p }[/math] with respect to an arbitrary circle in the complex plane, say one with centre [math]\displaystyle{ c }[/math] and radius [math]\displaystyle{ \rho }[/math], can be found by application of the Schur-Cohn test to the 'shifted and scaled' polynomial [math]\displaystyle{ q }[/math] defined by [math]\displaystyle{ q(z)=p(c+\rho\,z) }[/math].
Not every scaling factor is allowed, however, for the Schur-Cohn test can be applied to the polynomial [math]\displaystyle{ q }[/math] only if none of the following equalities occur: [math]\displaystyle{ T^{k}q(0)=0 }[/math] for some [math]\displaystyle{ k=1,\ldots K }[/math] or [math]\displaystyle{ T^{K+1}q=0 }[/math] while [math]\displaystyle{ d_K\gt 0 }[/math]. Now, the coefficients of the polynomials [math]\displaystyle{ T^{k}q }[/math] are polynomials in [math]\displaystyle{ \rho }[/math] and the said equalities result in polynomial equations for [math]\displaystyle{ \rho }[/math], which therefore hold for only finitely many values of [math]\displaystyle{ \rho }[/math]. So a suitable scaling factor can always be found, even arbitrarily close to [math]\displaystyle{ 1 }[/math].
Lehmer's method
Lehmers method is as follows. [5] For a given complex polynomial [math]\displaystyle{ p }[/math], with the Schur-Cohn test a circular disk can be found large enough to contain all roots of [math]\displaystyle{ p }[/math]. Next this disk can be covered with a set of overlapping smaller disks, one of them placed concentrically and the remaining ones evenly spread over the annulus yet to be covered. From this set, using the test again, disks containing no root of [math]\displaystyle{ p }[/math] can be removed. With each of the remaining disks this procedure of covering and removal can be repeated and so any number of times, resulting in a set of arbitrarily small disks that together contain all roots of [math]\displaystyle{ p }[/math].
The merits of the method are that it consists of repetition of a single procedure and that all roots are found simultaneously, whether they are real or complex, single, multiple or clustered. Also deflation, i.e. removal of roots already found, is not needed and every test starts with the full-precision, original polynomial. And, remarkably, this polynomial has never to be evaluated.
However, the smaller the disks become, the more the coefficients of the corresponding 'scaled' polynomials will differ in relative magnitude. This may cause overflow or underflow of computer computations, thus limiting the radii of the disks from below and thereby the precision of the computed roots. [2] .[6] To avoid extreme scaling, or just for the sake of efficiency, one may start with testing a number of concentric disks for the number of included roots and thus reduce the region where roots occur to a number of narrow , concentric annuli. Repeating this procedure with another centre and combining the results, the said region becomes the union of intersections of such annuli. [7] Finally, when a small disk is found that contains a single root, that root may be further approximated using other methods, e.g. Newton's method.
References
- ↑ Cohn, A (1922). "Uber die Anzahl der Wurzeln einer algebraischen Gleichung in einem Kreise.". Math. Z. 14: 110–148. doi:10.1007/BF01215894. http://gdz.sub.uni-goettingen.de/dms/load/img/?PPN=PPN266833020_0014&DMDID=dmdlog10.
- ↑ 2.0 2.1 Henrici, Peter (1988). Applied and computational complex analysis. Volume I: Power series- integration-conformal mapping-location of zeros. (Repr. of the orig., publ. 1974 by John Wiley \& Sons Ltd., Paperback ed.). New York etc.: John Wiley. pp. xv + 682. ISBN 0-471-60841-6.
- ↑ Marden, Morris (1949). The geometry of the zeros of a polynomial in a complex variable.. Mathematical Surveys. No. 3. New York: American Mathematical Society (AMS).. p. 148.
- ↑ Schur, I (1917). "Über Potenzreihen, die im Innern des Einheitskreises beschränkt sind.". Journal für die reine und angewandte Mathematik 1917 (147): 205–232. doi:10.1515/crll.1917.147.205. http://gdz.sub.uni-goettingen.de/dms/load/img/?PID=GDZPPN00216860X.
- ↑ Lehmer, D.H. (1961). "A machine method for solving polynomial equations.". Journal of the Association for Computing Machinery 8 (2): 151–162. doi:10.1145/321062.321064.
- ↑ Stewart, G.W.III (1969). "On Lehmer's method for finding the zeros of a polynomial.". Math. Comput. 23 (108): 829–835. doi:10.2307/2004970.
- ↑ Loewenthal, Dan (1993). "Improvement on the Lehmer-Schur root detection method.". J. Comput. Phys. 109 (2): 164–168. doi:10.1006/jcph.1993.1209. Bibcode: 1993JCoPh.109..164L.
Original source: https://en.wikipedia.org/wiki/Lehmer–Schur algorithm.
Read more |