# rpzero.f

          SUBROUTINE RPZERO (N, A, R, T, IFLG, S)
    C***BEGIN PROLOGUE  RPZERO
    C***PURPOSE  Find the zeros of a polynomial with real coefficients.
    C***LIBRARY   SLATEC
    C***CATEGORY  F1A1A
    C***TYPE      SINGLE PRECISION (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 real polynomial
    C         P(X)= A(1)*X**N + A(2)*X**(N-1) +...+ A(N+1)
    C
    C    Input...
    C       N = degree of P(X)
    C       A = real vector containing coefficients of P(X),
    C            A(I) = coefficient of X**(N+1-I)
    C       R = N word complex vector containing initial estimates for zeros
    C            if these are known.
    C       T = 6(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  CPZERO
    C***REVISION HISTORY  (YYMMDD)
    C   810223  DATE WRITTEN
    C   890206  REVISION DATE from Version 3.2
    C   891214  Prologue converted to Version 4.0 format.  (BAB)
    C***END PROLOGUE  RPZERO