Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-02 - decus/20-0026/dprqd.doc
There are 2 other files named dprqd.doc in the archive. Click here to see a list.
SUBROUTINE DPRQD

PURPOSE
   CALCULATE ALL REAL AND COMPLEX ROOTS OF A GIVEN POLYNOMIAL
   WITH REAL COEFFICIENTS.

USAGE
   CALL DPRQD(C,IC,Q,E,POL,IR,IER)

DESCRIPTION OF PARAMETERS
   C	 - COEFFICIENT VECTOR OF GIVEN POLYNOMIAL
	   COEFFICIENTS ARE ORDERED FROM LOW TO HIGH
	   THE GIVEN COEFFICIENT VECTOR GETS DIVIDED BY THE
	   LAST NONZERO TERM
	   DOUBLE PRECISION ARRAY
   IC	 - DIMENSION OF VECTOR C
   Q	 - WORKING STORAGE OF DIMENSION IC
	   ON RETURN Q CONTAINS REAL PARTS OF ROOTS
	   DOUBLE PRECISION ARRAY
   E	 - WORKING STORAGE OF DIMENSION IC
	   ON RETURN E CONTAINS COMPLEX PARTS OF ROOTS
	   DOUBLE PRECISION ARRAY
   POL	 - WORKING STORAGE OF DIMENSION IC
	   ON RETURN POL CONTAINS THE COEFFICIENTS OF THE
	   POLYNOMIAL WITH CALCULATED ROOTS
	   THIS RESULTING COEFFICIENT VECTOR HAS DIMENSION IR+1
	   COEFFICIENTS ARE ORDERED FROM LOW TO HIGH
	   DOUBLE PRECISION ARRAY
   IR	 - NUMBER OF CALCULATED ROOTS
	   NORMALLY IR IS EQUAL TO DIMENSION IC MINUS ONE
   IER	 - RESULTING ERROR PARAMETER. SEE REMARKS

REMARKS
   THE REAL PART OF THE ROOTS IS STORED IN Q(1) UP TO Q(IR)
   CORRESPONDING COMPLEX PARTS ARE STORED IN E(1) UP TO E(IR).
   IER = 0 MEANS NO ERRORS
   IER = 1 MEANS NO CONVERGENCE WITH FEASIBLE TOLERANCE
   IER = 2 MEANS POLYNOMIAL IS DEGENERATE (CONSTANT OR ZERO)
   IER = 3 MEANS SUBROUTINE WAS ABANDONED DUE TO ZERO DIVISOR
   IER = 4 MEANS THERE EXISTS NO S-FRACTION
   IER =-1 MEANS CALCULATED COEFFICIENT VECTOR REVEALS POOR
	   ACCURACY OF THE CALCULATED ROOTS.
	   THE CALCULATED COEFFICIENT VECTOR HAS LESS THAN
	   6 CORRECT DIGITS.
   THE FINAL COMPARISON BETWEEN GIVEN AND CALCULATED
   COEFFICIENT VECTOR IS PERFORMED ONLY IF ALL ROOTS HAVE BEEN
   CALCULATED.
   THE MAXIMAL RELATIVE ERROR OF THE COEFFICIENT VECTOR IS
   RECORDED IN Q(IR+1).

SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
   NONE

METHOD
   THE ROOTS OF THE POLYNOMIAL ARE CALCULATED BY MEANS OF
   THE QUOTIENT-DIFFERENCE ALGORITHM WITH DISPLACEMENT.
   REFERENCE
   H.RUTISHAUSER, DER QUOTIENTEN-DIFFERENZEN-ALGORITHMUS,
   BIRKHAEUSER, BASEL/STUTTGART, 1957.