Trailing-Edge
-
PDP-10 Archives
-
decus_20tap2_198111
-
decus/20-0026/prbm.doc
There are 2 other files named prbm.doc in the archive. Click here to see a list.
SUBROUTINE PRBM
PURPOSE
TO CALCULATE ALL REAL AND COMPLEX ROOTS OF A GIVEN
POLYNOMIAL WITH REAL COEFFICIENTS.
USAGE
CALL PRBM (C,IC,RR,RC,POL,IR,IER)
DESCRIPTION OF PARAMETERS
C - INPUT VECTOR CONTAINING THE COEFFICIENTS OF THE
GIVEN POLYNOMIAL. COEFFICIENTS ARE ORDERED FROM
LOW TO HIGH. ON RETURN COEFFICIENTS ARE DIVIDED
BY THE LAST NONZERO TERM.
IC - DIMENSION OF VECTORS C, RR, RC, AND POL.
RR - RESULTANT VECTOR OF REAL PARTS OF THE ROOTS.
RC - RESULTANT VECTOR OF COMPLEX PARTS OF THE ROOTS.
POL - RESULTANT VECTOR OF COEFFICIENTS OF THE POLYNOMIAL
WITH CALCULATED ROOTS. COEFFICIENTS ARE ORDERED
FROM LOW TO HIGH (SEE REMARK 4).
IR - OUTPUT VALUE SPECIFYING THE NUMBER OF CALCULATED
ROOTS. NORMALLY IR IS EQUAL TO IC-1.
IER - RESULTANT ERROR PARAMETER CODED AS FOLLOWS
IER=0 - NO ERROR,
IER=1 - SUBROUTINE PQFB RECORDS POOR CONVERGENCE
AT SOME QUADRATIC FACTORIZATION WITHIN
50 ITERATION STEPS,
IER=2 - POLYNOMIAL IS DEGENERATE, I.E. ZERO OR
CONSTANT,
OR OVERFLOW IN NORMALIZATION OF GIVEN
POLYNOMIAL,
IER=3 - THE SUBROUTINE IS BYPASSED DUE TO
SUCCESSIVE ZERO DIVISORS OR OVERFLOWS
IN QUADRATIC FACTORIZATION OR DUE TO
COMPLETELY UNSATISFACTORY ACCURACY,
IER=-1 - CALCULATED COEFFICIENT VECTOR HAS LESS
THAN THREE CORRECT SIGNIFICANT DIGITS.
THIS REVEALS POOR ACCURACY OF CALCULATED
ROOTS.
REMARKS
(1) REAL PARTS OF THE ROOTS ARE STORED IN RR(1) UP TO RR(IR)
AND CORRESPONDING COMPLEX PARTS IN RC(1) UP TO RC(IR).
(2) ERROR MESSAGE IER=1 INDICATES POOR CONVERGENCE WITHIN
50 ITERATION STEPS AT SOME QUADRQTIC FACTORIZATION
PERFORMED BY SUBROUTINE PQFB.
(3) NO ACTION BESIDES ERROR MESSAGE IER=2 IN CASE OF A ZERO
OR CONSTANT POLYNOMIAL. THE SAME ERROR MESSAGE IS GIVEN
IN CASE OF AN OVERFLOW IN NORMALIZATION OF GIVEN
POLYNOMIAL.
(4) ERROR MESSAGE IER=3 INDICATES SUCCESSIVE ZERO DIVISORS
OR OVERFLOWS OR COMPLETELY UNSATISFACTORY ACCURACY AT
ANY QUADRATIC FACTORIZATION PERFORMED BY
SUBROUTINE PQFB. IN THIS CASE CALCULATION IS BYPASSED.
IR RECORDS THE NUMBER OF CALCULATED ROOTS.
POL(1),...,POL(J-IR) ARE THE COEFFICIENTS OF THE
REMAINING POLYNOMIAL, WHERE J IS THE ACTUAL NUMBER OF
COEFFICIENTS IN VECTOR C (NORMALLY J=IC).
(5) IF CALCULATED COEFFICIENT VECTOR HAS LESS THAN THREE
CORRECT SIGNIFICANT DIGITS THOUGH ALL QUADRATIC
FACTORIZATIONS SHOWED SATISFACTORY ACCURACY, THE ERROR
MESSAGE IER=-1 IS GIVEN.
(6) THE FINAL COMPARISON BETWEEN GIVEN AND CALCULATED
COEFFICIENT VECTOR IS PERFORMED ONLY IF ALL ROOTS HAVE
BEEN CALCULATED. IN THIS CASE THE NUMBER OF ROOTS IR IS
EQUAL TO THE ACTUAL DEGREE OF THE POLYNOMIAL (NORMALLY
IR=IC-1). THE MAXIMAL RELATIVE ERROR OF THE COEFFICIENT
VECTOR IS RECORDED IN RR(IR+1).
SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
SUBROUTINE PQFB QUADRATIC FACTORIZATION OF A POLYNOMIAL
BY BAIRSTOW ITERATION.
METHOD
THE ROOTS OF THE POLYNOMIAL ARE CALCULATED BY MEANS OF
SUCCESSIVE QUADRATIC FACTORIZATION PERFORMED BY BAIRSTOW
ITERATION. X**2 IS USED AS INITIAL GUESS FOR THE FIRST
QUADRATIC FACTOR, AND FURTHER EACH CALCULATED QUADRATIC
FACTOR IS USED AS INITIAL GUESS FOR THE NEXT ONE. AFTER
COMPUTATION OF ALL ROOTS THE COEFFICIENT VECTOR IS
CALCULATED AND COMPARED WITH THE GIVEN ONE.
FOR REFERENCE, SEE J. H. WILKINSON, THE EVALUATION OF THE
ZEROS OF ILL-CONDITIONED POLYNOMIALS (PART ONE AND TWO),
NUMERISCHE MATHEMATIK, VOL.1 (1959), PP.150-180.