cpzero.f
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