Finding Zeros of A Polynomial by The Q-D Algorithm
Finding Zeros of A Polynomial by The Q-D Algorithm
Finding Zeros of A Polynomial by The Q-D Algorithm
, Editor
Finding Zeros of a Polynomial mentioned furnish only one zero at a time; as soon as a
zero is found, it is divided out, and the method is started
By the Q-D Algorithm afresh with a new random start.
Other methods (such as the ones ascribed to Bernoulli
P. ~-IENRICI and Graeffe) do not require any first approximations, b u t
University of California,* Los Angeles, and Eidgenhssisehe then the convergence is usually slower and again only one
Technisehe Hochschule, Zurich, Switzerland (or two) zeros are found at a time.
I n this note we relate some experimental results cover-
BRUCE O. WATKINS
ing a technique for finding zeros based on the Quotient-
Utah State University, ~ Logan, Utah
Difference (Q-D) algorithm. This method was introduced
b y H. Rutishauser [5], and its theoretical aspects h a v e
since been discussed in a number of papers [6, 7, 8, 9]. Un-
A method which finds simultaneously all the zeros of a like any of the methods mentioned above, the Q-D al-
polynomial, developed by H. Rutishauser, has been tested on a gorithm has the advantage of furnishing simultaneous
number of polynomials with real coefficients. This slowly con- approximations to M1 zeros of a given polynomial, using
verging method (the Quotient-Difference (Q-D) algorithm) no information other t h a n the coefficients of the given
provides starting values for a Newton or a Bairstow algorithm polynomial. Theoretically the method could be used to
for more rapid convergence. determine the zeros of a polynomial with arbitrary ac-
Necessary and sufficient conditions for the existence of the curacy; however, since the method converges at least as
Q-D scheme are not completely known; however, failure may slowly as the Bernoulli method, and since it is subject to
occur when zeros have equal, or nearly equal magnitudes. propagation of rounding error, we use the Q-D method
Success was achieved, in most of the cases tried, with the only to determine first approximations to the zeros, which
failures usually traceable to the equal magnitude difficulty. then are determined more accurately b y the Newton or
In some cases, computer roundoff may result in errors which the Newton-Bairstow procedure.
spoil the scheme. Even if the Q-D algorithm does not give all T h e present paper is concerned solely with the com-
the zeros, it will usually find a majority of them. putational aspects of the algorithm. For the theory we
infer to the references given previously.
1. I n t r o d u c t i o n 2. T h e A l g o r i t h m
M a n y welLknown methods for determining the zeros Let
of a polynomial (such as the Muller method [1], Laguerre's p(z) = aoz~ + alz ~-1 + . . . -4- aN (1)
method [2], the Newton method or its variant for pairs
of complex conjugate zeros, the Bairstow method [3]) be a polynomial whose coefficients (real or complex) are
converge v e r y rapidly if good first approximations to the all different from zero. The Quotient-Difference Algorithm
zeros are known. If no such approximations are known, consists in constructing a two-dimensional array of num-
the convergence m a y be much slower or, in certain cases, bers, whose elements are arranged as indicated below ~
m a y not take place at all [4]. Furthermore, the methods in the special case N = 4 :
~o+ q~> q~ q2>
The preparation of this paper was sponsored in part by the
Office of Naval Research and the U.S. Army Research Office
(Durham). Reproduction in whole or in part is permitted for any q~'> qi: ql :> q~')
purpose of the United States Government. Part of the computing
time was supplied by the Western Data Processing Center, UCLA,
Los Angeles. Zeros were checked by a double precision program
developed by General Motors Corp., Allison Div., Indianapolis, etc.
Indiana.
* Numerical Analysis Research. 1 Our notation is adapted to the situation on hand; it does not
Department of Electrical Engineering. agree with the standard notation in [3] or [5].
1 6 53.081, --1429.7, 0.07721, --2.0143, 56.131, --561.12, 0.54839 ± i0.54964, 0.04197, --0.56935 ± i0.56935, 6
23.451 26.934
2 6 --2.9041, --6.9933, --8438.8, 23.804, --47.947, 0.15886, --0.018289, --0.068874 ± i0.15235, 6
36.539, 0.68540 --1.2054 ± i53.892
3 7 --48.773, 3.8121, --74.419, --116.96, 4.2614, --0.00035978 ± i0.020882, --0.79461 2: i2.8190, 7
--9915.8, --7.1330, --4.3250 2.2513 2: il.8147, --2.8345
(eontlnue~)
4 7 3.8121, --74.419, --116.96, 4.2614, --9915.8, 0.038108 :::l:i0.066060, 0.076218, 1.7322 ~ i4.5447, 7
--0.07133, --0.04325, --4.3936 --5.1782, 21.236
5 8 1, 2.9742, --6.7676, 6.2608, --54.215, --97.167, --4.90436, 2.77582, --1.18832, --0.690732, 8
7.0080, 7.7130, --15.806 0.198214 ~ i2.37181, 0.318483 ~ i0.385059
6 8 4.3936, --8.3619, 7.7182, --5545.9, --288.08, 3803.4, 1.2106, 0.35283 ~ i0.91569, --0.98342 d:::i0.54629, 8
105.40, --54.646, 8191.9 11.420, --4.7333 ::l=i9.3942
7 8 7.7182, --5545.9, --288.08, 3803.4, 105.40, --54.646, 0.14221, 1.2085, --0.14332, 0.35080 ::t::i0.92018, 8
8191.9, 8.7029, --167.00 --0.97998 ~/0.54791, 718.60
8 9 1, --993.56, --21.125, 122.20, 2.6288, --7.7351, 0.014036 ~ i0.11897, 0.99662 ~ i0.56000, 9
7.2159, --2184.9, 61.422, --31.350 --0.0080556 A:: i1.1198, --1.0132 ::t: i0.56143,
993.58
9 9 8.7029, --167.00, 463.33, 1126.1, 76.241, --7.0508, --0.31157, 0.029598 ± i0.20480, 1.4716, 9
4085.4, -- 1036.1, -- 99.729, -- 54.649
-- --0.39604 =l::il.3425, --1.9311, 5.6018, 15.091
10 9 463.33, 1126.1, 76.241, --7.0508, --4085.4, --1036.1, 0.16456 ± i0.18925, --0.36540, 9
99.729, -- 54.649, -- 2.9041, -- 6.9933
-- --0.10821 ~ i0.25013, 0.13911,
--0.40776 ~ il.4637, --2.7533
11 15 1, 39.247, --20.573, --8.3243, 22.834, --0.78440, --0.0082883, --1.2152, 1.1806 =t::i0.53560, 15
--4.2754, 504.15, --21.134, 72.874, 2.9240, --94.501, 0.36708 ~ il.2673, --0.70578 ~ i0.96858,
5.5945, 4.0532, 2549.3, 21.129 0.022019 ± il.4604, 1.3624 =t= i0.76961,
--1.3588 ::t::i0.74633, --39.759
12 18 1, --2.6027, 693.57, --6.5842, 1.6240, --6113.5, 0.74344 ::t=/0.66073, --0.98881, 0.97248 ~ i0.24402, 12
21.652, 4.5896, --0.71410, --7.8138, 8.3005, --0.58013 ::t=i0.82796, --0.11371 ::t=i0.99865,
37.504, --64.678, 4.9990, --6.8560, 45.808, 337.62, 0.35904 ::i=i0.92990, --0.88517 ::t=i0.45229, 2.0683,
14.910, -- 6093.8
-- --1.0373 ~ il.7847, 1.3029 ± i26.304
13 36 --9265.3, 6468.0, --42.015, 70.311, 3072.4, 2.9530, 0.81276 ~ i0.061480, 0.58720 =t= i0.48197, 22
5.6163, 870.73, --7.9141, --74.110, --22.964, 9.2252, 0.22083 ± /0.700000, --0.88460 ~ /0.30152,
--2.4987, --39.063, 6.5810, --6.8461, --7.8867, 0.63308 ::t::i0.69314, --0.20948 ~ /0.89996,
--32.151, --34.637, 67.916, --390.57, 60.247, 1.0530 ± i0.087703, --0.83729 ± i0.39630,
265.74, -- 453.86, -- 7015.6, -- 309.67, -- 2.0574, --0.072582 ± /0.99088, 0.57888 ::i=i0.77201,
--85.581, --99.394, --20.775, 49.225, 3924.5, --0.583111 ~ /0.78522, 0.15853 ~ il.0003,
--0.083830, 73.941, 0.049060, 88.312, --993.56 0.82646 ± i0.57735, --0.98285 ± i0.11248,
0.39262 ~ /0.92500, 0.95385 ::t: i0.36071,
--0.74665 ::l=i0.60412, --0.37723 ~ 0.89807
* Polynomials made up from selected zeros er factors. Otherwise polynemials made u p from selected coefficients.
1 Coefficients are listed in order of descending powers of the polynomial.
Zeros and coefficients are at least six significant figures for * polynomials. Otherwise these values are to five significant figures. Factors are i ndicated in the form (z+l), etc.,
otherwise the values given are zeros.
s See discussion on equal zeros.
pairs of zeros) are found b y the N e w t o n - B a i r s t o w tech- ure to pass the test if the count was less t h a n three; other-
nique using unsophisticated first guesses, and each zero wise the count was reduced b y one on failure to pass the
(or each quadratic factor) is divided out as soon as found. test. T h e n u m b e r of iterations, n, was an i n p u t value.
As a final step, when all the zeros have been found, the Experience showed t h a t an E P S value of a b o u t 0.01 and
original polynomial is used to produce i m p r o v e d zeros an n value of a b o u t 150 gave satisfactory results for m o s t
b y iteration. I t would seem that, considered as a m e t h o d polynomials.
for finding first approximations, the Q-D scheme is m o r e Besides t r y i n g the m e t h o d on a n u m b e r of fairly simple
economical. polynomials (Table 1) a n u m b e r of other polynomials were
Several methods for checking the convergence of the investigated (Table 2). These later polynomials were m a d e
e(k)-columns in the Q-D m e t h o d were tried. T w o success- up of coefficients formed b y using r a n d o m n u m b e r s of five
ful test expressions, either of which m a y be used, follow: digits f r o m [10]. T h e decimal was placed b y spinning a
pointer with six possible stopping positions, two positions
(2 l e£~) I/(I + I + I q.-1 + [)) being used to m o v e the decimal to the right one place,
-- E P S l e~k) ]/I e(k)
25 I -- E P S . two positions being used to m o v e the decimal to the right
two places, one position three places, and one position
E P S m u s t be chosen sufficiently small so t h a t the test four places. T h e sign was established b y a coin flip. I t is
expression used will remain positive until the kth e-column of interest to note t h a t the m a g n i t u d e of m a n y of the
has effectively converged. To further ensure such con- zeros of these polynomials tend to cluster a b o u t the value
vergence, a count of five or more passages of the test set one. F o r example, in one 18th degree polynomial, 13 zeros
an indicator I(k). This count was set back to zero on fail- h a v e m a g n i t u d e s differing f r o m one b y less t h a n 1.2 per