CPZERO
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C C P Z E R O
C
C CPZERO IS THE NAME OF A PACKAGE OF SUBROUTINES FOR FINDING
C ALL THE ZEROS OF POLYNOMIALS WITH EITHER REAL OR
C COMPLEX COEFFICIENTS. THE SUBROUTINE CPZERO IS FOR
C COMPLEX COEFFICIENTS AND THE SUBROUTINE RPZERO IS FOR
C REAL COEFFICIENTS. ALONG WITH THE ZEROS, THESE PROGRAMS
C PROVIDE AS OUTPUT, ESTIMATES OF THE ERRORS THAT HAVE BEEN
C MADE. THESE ESTIMATES ARE USUALLY CONSERVATIVE. IF
C YOU HAVE SOME IDEA OF THE ZEROS IT IS POSSIBLE TO INSERT
C THESE INTO THE PROGRAMS, HOPEFULLY TO MAKE THEM RUN
C FASTER.
C
C ACTUALLY THERE IS ONLY ONE MAIN ROUTINE, CPZERO. THE OTHER
C RPZERO AUTOMATICALLY SETS THE IMAGINARY PARTS OF THE
C POLYNOMIAL COEFFICIENTS TO ZERO AND CALLS CPZERO.
C
C THE METHOD USED HERE IS NEWTON'S METHOD APPLIED TO THE
C SYSTEM OF EQUATIONS WHICH IS OBTAINED BY SETTING THE
C POLYNOMIAL COEFFICIENTS EQUAL TO THE SYMMETRIC FUNCTIONS
C OF THE ROOTS. EXPERIENCE HAS SHOWN IT TO BE ROBUST, BUT
C NEVERTHELESS THIS METHOD IS KNOWN TO SLOW DOWN IN THE
C PRESENCE OF MULTIPLE OR ALMOST MULTIPLE ROOTS.
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC