Skip to main content
Log in

Numerical computation of polynomial zeros by means of Aberth's method

  • Published:
Numerical Algorithms Aims and scope Submit manuscript

Abstract

An algorithm for computing polynomial zeros, based on Aberth's method, is presented. The starting approximations are chosen by means of a suitable application of Rouché's theorem. More precisely, an integerq ≥ 1 and a set of annuliA i,i=1,...,q, in the complex plane, are determined together with the numberk i of zeros of the polynomial contained in each annulusA i. As starting approximations we choosek i complex numbers lying on a suitable circle contained in the annulusA i, fori=1,...,q. The computation of Newton's correction is performed in such a way that overflow situations are removed. A suitable stop condition, based on a rigorous backward rounding error analysis, guarantees that the computed approximations are the exact zeros of a “nearby” polynomial. This implies the backward stability of our algorithm. We provide a Fortran 77 implementation of the algorithm which is robust against overflow and allows us to deal with polynomials of any degree, not necessarily monic, whose zeros and coefficients are representable as floating point numbers. In all the tests performed with more than 1000 polynomials having degrees from 10 up to 25,600 and randomly generated coefficients, the Fortran 77 implementation of our algorithm computed approximations to all the zeros within the relative precision allowed by the classical conditioning theorems with 11.1 average iterations. In the worst case the number of iterations needed has been at most 17. Comparisons with available public domain software and with the algorithm PA16AD of Harwell are performed and show the effectiveness of our approach. A multiprecision implementation in MATHEMATICA is presented together with the results of the numerical tests performed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. O. Aberth, Iteration methods for finding all zeros of a polynomial simultaneously, Math. Comp. 27(122) (1973) 339–344.

    Google Scholar 

  2. D. A. Adams, A stopping criterion for polynomial root finding, Comm. ACM 10 (1967) 655–658.

    Google Scholar 

  3. G. Alefeld and J. Herzberger, On the convergence speed of some algorithms for the simultaneous approximation of polynomial roots, SIAM J. Numer. Anal. 11(2) (1974) 237–243.

    Google Scholar 

  4. M. Ben-Or and P. Tiwari, Simple algorithms for approximating all roots of a polynomial with real roots, J. Complexity 6 (1990) 417–442.

    Google Scholar 

  5. D. Bini and G. Fiorentino, A multiprecision implementation of a poly-algorithm for univariate polynomial zeros, in:Proc. of the POSSO Workshop on Software, eds. J. C. Faugère, J. Marchand and R. Rioboo (Paris, 1995).

  6. W. Börsch-Supan, A-posteriori error bounds for the zeros of polynomials, Numer. Math. 5 (1963) 380–398.

    Google Scholar 

  7. D. Braess and K. P. Hadeler, Simultaneous inclusion of the zeros of a polynomial, Numer. Math. 21 (1973) 161–165.

    Google Scholar 

  8. C. Carstensen, Inclusion of the roots of a polynomial based on Gerschgorin's theorem, Numer. Math. 59 (1991) 349–360.

    Google Scholar 

  9. M. Cosnard and P. Fraigniaud, Asynchronous Durand-Kerner and Aberth polynomial root finding methods on a distributed memory multicomputer, Parallel Computing 89 (1990) 79–84.

    Google Scholar 

  10. D. K. Dunaway, Calculation of zeros of a real polynomial through factorization using Euclid's algorithm, SIAM J. Numer. Anal. 11(6) (1974) 1087–1104.

    Google Scholar 

  11. E. Durand,Solutions Numériques des Équations Algébriques, Tome 1: Equations du Type F(X)=0;Racines d'un Polynôme (Masson, Paris 1960).

    Google Scholar 

  12. L. W. Ehrlich, A modified Newton method for polynomials, Comm. ACM 10(2) (1967) 107–108.

    Google Scholar 

  13. L. Elsener, A remark on simultaneous inclusions of the zeros of a polynomial by Gerschgorin's theorem, Numer. Math. 21 (1973) 425–427.

    Google Scholar 

  14. P. Fraigniaud, Analytic and asynchronous root finding methods on a distributed memory multicomputer, Research Report LIP-IMAG (1989).

  15. P. Fraigniaud, The Durand-Kerner's polynomials root-finding method in case of multiple roots, BIT 31 (1991) 112–123.

    Google Scholar 

  16. I. Gargantini and P. Henrici, Circular arithmetic and the determination of polynomial zeros, Numer. Math. 18 (1972) 305–320.

    Google Scholar 

  17. W. Gautschi, Questions of numerical condition related to polynomials, in:Recent Advances in Numerical Analysis, eds. C. de Boor and G. H. Golub (Academic Press, New York, 1978) pp. 45–72.

    Google Scholar 

  18. M. W. Green, A. J. Korsak and M. C. Pease, Simultaneous iteration towards all roots of a complex polynomial, SIAM Rev. 18 (1976) 501–502.

    Google Scholar 

  19. H. Guggenheimer, Initial approximations in Durand-Kerner's root finding method, BIT 26 (1986) 537–539.

    Google Scholar 

  20. M. Gutknecht, A-posteriori error bounds for the zeros of a polynomial, Numer. Math. 20 (1972) 139–148.

    Google Scholar 

  21. E. Hansen, M. Patrick and J. Rusnak, Some modifications of Laguerre's method, BIT 17 (1977) 409–417.

    Google Scholar 

  22. P. Henrici,Applied and Computational Complex Analysis, Vol. 1 (Wiley, 1974).

  23. A. S. Householder, Generalization of an algorithm of Sebastião e Silva, Numer. Math. 16 (1971) 375–382.

    Google Scholar 

  24. A. S. Householder,The Numerical Treatment of a Single Nonlinear Equation (McGraw-Hill, Boston 1970).

    Google Scholar 

  25. M. Igarashi, A termination criterion for iterative methods used to find the zeros of polynomials, Math. Comp. 42 (1984) 165–171.

    Google Scholar 

  26. M. A. Jenkins and J. F. Traub, A three stage variable shift iteration for polynomial zeros and its relation to generalized Rayleigh iteration, Numer. Math. 14 (1970) 252–263.

    Google Scholar 

  27. I. O. Kerner, Ein Gesamtschrittverfahren zur Berechnung der Nullstellen von Polynomen, Numer. Math. 8 (1966) 290–294.

    Google Scholar 

  28. N. Kjurkchev and K. Mahdi, Some remarks on Dvorcuk's root-finding method, BIT 34 (1994) 318–322.

    Google Scholar 

  29. D. H. Lehmer, A machine method for solving polynomial equations, J. ACM 8 (1961) 151–162.

    Google Scholar 

  30. K. Madsen and K. Reid, Fortran subroutines for finding polynomial zeros, Report HL 75/1172(C13), Computer Science and Systems Divisions, A.E.R.E. Harwell, Oxford (1975).

    Google Scholar 

  31. J. M. McNamee, A bibliography on roots of polynomials, J. Comput. Appl. Math. 47 (1993) 391–394.

    Google Scholar 

  32. J. M. McNamee, A comparison of methods for terminating polynomial iterations, J. Comput. Appl. Math. 21 (1988) 239–244.

    Google Scholar 

  33. R. G. Moiser, Root neighborhoods of a polynomial, Math. Comp. 47 (1986) 265–273.

    Google Scholar 

  34. C. A. Neff, Specified precision polynomial root isolation is in NC, in:Proc. 31st Annual IEEE Symp. on Foundation of Computer Science (IEEE Computer Science Press, 1990) pp. 152–162.

  35. A. Ostrowski, On a theorem by J. L. Walsh concerning the moduli of roots of algebraic equations, Bull. Amer. Math. Soc. 47 (1941) 742–746.

    Google Scholar 

  36. V. Pan, On approximating complex polynomial zeros: modified quadtree (Weyl's) construction and improved Newton's iteration, in:5th Annual ACM-SIAM Symposium on Discrete Algorithms, Arlington, VA (1994).

  37. V. Pan, Sequential and parallel complexity of approximate evaluation of polynomial zeros, Comput. Math. Appl. 14(8) (1987) 591–622.

    Google Scholar 

  38. L. Pasquini and D. Trigiante, A globally convergent method for simultaneously finding polynomial roots, Math. Comp. 44(169) (1985) 135–149.

    Google Scholar 

  39. A. Schönhage, The fundamental theorem of algebra in terms of computational complexity, Technical Report, Mathematisches Institut der Universität Tübingen (1982).

  40. Yu. V. Sidorov, M. V. Fedoryuk and M. I. Shabunin,Lectures on the Theory of Functions of a Complex Variable (Mir, Moscow, 1985).

    Google Scholar 

  41. S. Smale, The fundamental theorem of algebra and complexity theory, Bull. Amer. Math. Soc. 4(1) (1981) 1–36.

    Google Scholar 

  42. B. T. Smith, Error bounds for the zeros of a polynomial based upon Gerschgorin's theorem, J. ACM 17 (1970) 661–674.

    Google Scholar 

  43. G. W. Stewart, On the convergence of Sebastião e Silva's method for finding a zero of a polynomial, Math. Comp. 12 (1970) 458–460.

    Google Scholar 

  44. W. Werner, On the simultaneous determination of polynomial roots, in:Lecture Notes in Mathematics 953 (Springer, Berlin, 1982) pp. 188–202.

    Google Scholar 

  45. J. H. Wilkinson, Practical problems arising in the solution of polynomial equations, J. Inst. Math. Appl. 8 (1971) 16–35.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Communicated by Å. Björck and M. Redivo-Zaglia

Work performed under the support of the ESPRIT BRA project 6846 POSSO (POlynomial System SOlving).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bini, D.A. Numerical computation of polynomial zeros by means of Aberth's method. Numer Algor 13, 179–200 (1996). https://doi.org/10.1007/BF02207694

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02207694

Keywords

AMS subject classification

Navigation