A fast parallel algorithm for determining all roots of a polynomial with real roots

Given a polynomial p ( z ) of degree n with m bit integer coefficients and an integer /z, the problem of determining all its roots with error less than 2 -~ is considered. It is shown that this problem is in the class NC if p ( z ) has all real roots. Some very interesting properties of a Sturm sequence of a polynomial with distinct real roots are proved and used in the design of a fast parallel algorithm for this problem. Using Newton identities and a novel numerical integration scheme for evaluating a contour integral to high precision, this algorithm determines good approximations to the linear factors of p ( z ) . tThis work began in the summer of 1985 while the authors were at the IBM Thomas J. Watson Research Center, Yorktown Heights, New York. :~Supported by an IBM Graduate Fellowship and by the Office of Naval Research under Contract N00014-85-K-0570. 1. In t roduc t ion Determining the set of all roots of a polynomial is a classical problem with applications in many branches of engineering. Although many sequential algorithms have been designed for this problem (see, for example, [H74] and [$82]), to date no fast parallel algorithm is known. In this paper we show that this problem is in NC if all roots of the given polynomial are real. Moreover, the problem of determining if all the roots of a given polynomial are real, is also in NC. The best previous result for this root-finding problem appears in [P85] and has worst case running time O (n logn ) using n processors where n is the degree of the given polynomial and each processor is capable of performing arithmetic operations on operands having polynomially many bits in one step. Our results achieve considerable improvement in the parallel running time at the expense of polynomially many processors. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. © 1986 ACM 0-89791-193-8/86/0500/0340 $00.75

[1]  John H. Reif,et al.  The complexity of elementary algebra and geometry , 1984, STOC '84.

[2]  Joachim von zur Gathen Parallel algorithms for algebraic problems , 1983, STOC '83.

[3]  Allan Borodin,et al.  Fast parallel matrix and GCD computations , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[4]  David Raymond Curtiss Analytic functions of a complex variable , 1927 .

[5]  Stuart J. Berkowitz,et al.  On Computing the Determinant in Small Parallel Time Using a Small Number of Processors , 1984, Inf. Process. Lett..

[6]  A. Householder The numerical treatment of a single nonlinear equation , 1970 .

[7]  George E. Collins Polynomial Remainder Sequences and Determinants , 1966 .

[8]  K. Mahler An inequality for the discriminant of a polynomial. , 1964 .

[9]  Victor Y. Pan Fast and efficient algorithms for sequential and parallel evaluation of polynomial zeros and of matrix polynomials , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[10]  Henry C. Thacher,et al.  Applied and Computational Complex Analysis. , 1988 .

[11]  Chee-Keng Yap,et al.  Algebraic cell decomposition in NC , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[12]  Lee E. Heindel,et al.  Integer arithmetic algorithms for polynomial real zero determination , 1971, SYMSAC '71.

[13]  George E. Collins,et al.  Subresultants and Reduced Polynomial Remainder Sequences , 1967, JACM.

[14]  Steven Fortune,et al.  Parallelism in random access machines , 1978, STOC.

[15]  M. Marden Geometry of Polynomials , 1970 .

[16]  W. Burnside,et al.  Theory of equations , 1886 .

[17]  T. A. Brown,et al.  Theory of Equations. , 1950, The Mathematical Gazette.

[18]  L. Csanky,et al.  Fast parallel matrix inversion algorithms , 1975, 16th Annual Symposium on Foundations of Computer Science (sfcs 1975).