*DECK CPZERO SUBROUTINE CPZERO (IN, A, R, T, IFLG, S) C***BEGIN PROLOGUE CPZERO C***PURPOSE Find the zeros of a polynomial with complex coefficients. C***LIBRARY SLATEC C***CATEGORY F1A1B C***TYPE COMPLEX (RPZERO-S, CPZERO-C) C***KEYWORDS POLYNOMIAL ROOTS, POLYNOMIAL ZEROS, REAL ROOTS C***AUTHOR Kahaner, D. K., (NBS) C***DESCRIPTION C C Find the zeros of the complex polynomial C P(Z)= A(1)*Z**N + A(2)*Z**(N-1) +...+ A(N+1) C C Input... C IN = degree of P(Z) C A = complex vector containing coefficients of P(Z), C A(I) = coefficient of Z**(N+1-i) C R = N word complex vector containing initial estimates for zeros C if these are known. C T = 4(N+1) word array used for temporary storage C IFLG = flag to indicate if initial estimates of C zeros are input. C If IFLG .EQ. 0, no estimates are input. C If IFLG .NE. 0, the vector R contains estimates of C the zeros C ** WARNING ****** If estimates are input, they must C be separated, that is, distinct or C not repeated. C S = an N word array C C Output... C R(I) = Ith zero, C S(I) = bound for R(I) . C IFLG = error diagnostic C Error Diagnostics... C If IFLG .EQ. 0 on return, all is well C If IFLG .EQ. 1 on return, A(1)=0.0 or N=0 on input C If IFLG .EQ. 2 on return, the program failed to converge C after 25*N iterations. Best current estimates of the C zeros are in R(I). Error bounds are not calculated. C C***REFERENCES (NONE) C***ROUTINES CALLED CPEVL C***REVISION HISTORY (YYMMDD) C 810223 DATE WRITTEN C 890531 Changed all specific intrinsics to generic. (WRB) C 890531 REVISION DATE from Version 3.2 C 891214 Prologue converted to Version 4.0 format. (BAB) C***END PROLOGUE CPZERO