Previous: hqr Up: ../eispas.html Next: htrib3


HQR2(NM,N,LOW,IGH,H,WR,WI,Z,IERR)

       SUBROUTINE HQR2(NM,N,LOW,IGH,H,WR,WI,Z,IERR)
 C
       INTEGER I,J,K,L,M,N,EN,II,JJ,LL,MM,NA,NM,NN,
      X        IGH,ITN,ITS,LOW,MP2,ENM2,IERR
       REAL H(NM,N),WR(N),WI(N),Z(NM,N)
       REAL P,Q,R,S,T,W,X,Y,RA,SA,VI,VR,ZZ,NORM,TST1,TST2
       LOGICAL NOTLAS
 C
 C     THIS SUBROUTINE IS A TRANSLATION OF THE ALGOL PROCEDURE HQR2,
 C     NUM. MATH. 16, 181-204(1970) BY PETERS AND WILKINSON.
 C     HANDBOOK FOR AUTO. COMP., VOL.II-LINEAR ALGEBRA, 372-395(1971).
 C
 C     THIS SUBROUTINE FINDS THE EIGENVALUES AND EIGENVECTORS
 C     OF A REAL UPPER HESSENBERG MATRIX BY THE QR METHOD.  THE
 C     EIGENVECTORS OF A REAL GENERAL MATRIX CAN ALSO BE FOUND
 C     IF  ELMHES  AND  ELTRAN  OR  ORTHES  AND  ORTRAN  HAVE
 C     BEEN USED TO REDUCE THIS GENERAL MATRIX TO HESSENBERG FORM
 C     AND TO ACCUMULATE THE SIMILARITY TRANSFORMATIONS.
 C
 C     ON INPUT
 C
 C        NM MUST BE SET TO THE ROW DIMENSION OF TWO-DIMENSIONAL
 C          ARRAY PARAMETERS AS DECLARED IN THE CALLING PROGRAM
 C          DIMENSION STATEMENT.
 C
 C        N IS THE ORDER OF THE MATRIX.
 C
 C        LOW AND IGH ARE INTEGERS DETERMINED BY THE BALANCING
 C          SUBROUTINE  BALANC.  IF  BALANC  HAS NOT BEEN USED,
 C          SET LOW=1, IGH=N.
 C
 C        H CONTAINS THE UPPER HESSENBERG MATRIX.
 C
 C        Z CONTAINS THE TRANSFORMATION MATRIX PRODUCED BY  ELTRAN
 C          AFTER THE REDUCTION BY  ELMHES, OR BY  ORTRAN  AFTER THE
 C          REDUCTION BY  ORTHES, IF PERFORMED.  IF THE EIGENVECTORS
 C          OF THE HESSENBERG MATRIX ARE DESIRED, Z MUST CONTAIN THE
 C          IDENTITY MATRIX.
 C
 C     ON OUTPUT
 C
 C        H HAS BEEN DESTROYED.
 C
 C        WR AND WI CONTAIN THE REAL AND IMAGINARY PARTS,
 C          RESPECTIVELY, OF THE EIGENVALUES.  THE EIGENVALUES
 C          ARE UNORDERED EXCEPT THAT COMPLEX CONJUGATE PAIRS
 C          OF VALUES APPEAR CONSECUTIVELY WITH THE EIGENVALUE
 C          HAVING THE POSITIVE IMAGINARY PART FIRST.  IF AN
 C          ERROR EXIT IS MADE, THE EIGENVALUES SHOULD BE CORRECT
 C          FOR INDICES IERR+1,...,N.
 C
 C        Z CONTAINS THE REAL AND IMAGINARY PARTS OF THE EIGENVECTORS.
 C          IF THE I-TH EIGENVALUE IS REAL, THE I-TH COLUMN OF Z
 C          CONTAINS ITS EIGENVECTOR.  IF THE I-TH EIGENVALUE IS COMPLEX
 C          WITH POSITIVE IMAGINARY PART, THE I-TH AND (I+1)-TH
 C          COLUMNS OF Z CONTAIN THE REAL AND IMAGINARY PARTS OF ITS
 C          EIGENVECTOR.  THE EIGENVECTORS ARE UNNORMALIZED.  IF AN
 C          ERROR EXIT IS MADE, NONE OF THE EIGENVECTORS HAS BEEN FOUND.
 C
 C        IERR IS SET TO
 C          ZERO       FOR NORMAL RETURN,
 C          J          IF THE LIMIT OF 30*N ITERATIONS IS EXHAUSTED
 C                     WHILE THE J-TH EIGENVALUE IS BEING SOUGHT.
 C
 C     CALLS CDIV FOR COMPLEX DIVISION.
 C
 C     QUESTIONS AND COMMENTS SHOULD BE DIRECTED TO BURTON S. GARBOW,
 C     MATHEMATICS AND COMPUTER SCIENCE DIV, ARGONNE NATIONAL LABORATORY
 C
 C     THIS VERSION DATED AUGUST 1983.
 C
 C     ------------------------------------------------------------------
 C