COMQR2(3F)

COMQR2, SCOMQR2 - EISPACK routine. This subroutine finds the eigenvalues and eigenvectors of a COMPLEX UPPER Hessenberg matrix by the QR method. The eigenvectors of a COMPLEX GENERAL matrix can also be found if CORTH has been used to reduce this general matrix to Hessenberg form.

As shipped in IRIX 6.5.30. Unchanged since IRIX 6.5.

NAME
     COMQR2, SCOMQR2  -  EISPACK routine.  This subroutine finds the
     eigenvalues and eigenvectors of a COMPLEX UPPER Hessenberg matrix by the
     QR method.  The eigenvectors of a COMPLEX GENERAL matrix can also be
     found if  CORTH  has been used to reduce this general matrix to
     Hessenberg form.


SYNOPSYS
          subroutine  comqr2(nm,n,low,igh,ortr,orti,hr,hi,wr,wi,zr,zi,ierr)
          integer          nm, n, low, igh, ierr
          double precision hr(nm,n), hi(nm,n), wr(n),     wi(n)
          double precision zr(nm,n), zi(nm,n), ortr(igh), orti(igh)

          subroutine scomqr2(nm,n,low,igh,ortr,orti,hr,hi,wr,wi,zr,zi,ierr)
          integer          nm, n, low, igh, ierr
          real             hr(nm,n), hi(nm,n), wr(n),     wi(n)
          real             zr(nm,n), zi(nm,n), ortr(igh), orti(igh)



DESCRIPTION
     On INPUT

     NM must be set to the row dimension of two-dimensional array parameters
     as declared in the calling program dimension statement.

     N is the order of the matrix.

     LOW and IGH are integers determined by the balancing subroutine  CBAL.
     If  CBAL  has not been used, set LOW=1, IGH=N.

     ORTR and ORTI contain information about the unitary trans- formations
     used in the reduction by  CORTH, if performed.  Only elements LOW through
     IGH are used.  If the eigenvectors of the Hessenberg matrix are desired,
     set ORTR(J) and ORTI(J) to 0.0E0 for these elements.

     HR and HI contain the real and imaginary parts, respectively, of the
     complex upper Hessenberg matrix.  Their lower triangles below the
     subdiagonal contain further information about the transformations which
     were used in the reduction by  CORTH, if performed.  If the eigenvectors
     of the Hessenberg matrix are desired, these elements may be arbitrary.
     On OUTPUT

     ORTR , ORTI, and the upper Hessenberg portions of HR and HI have been
     destroyed.

     WR and WI contain the real and imaginary parts, respectively, of the
     eigenvalues.  If an error exit is made, the eigenvalues should be correct
     for indices IERR+1,...,N.

     ZR and ZI contain the real and imaginary parts, respectively, of the
     eigenvectors.  The eigenvectors are unnormalized.  If an error exit is
     made, none of the eigenvectors has been found.

     IERR is set to Zero       for normal return, J          if the J-th
     eigenvalue has not been
        determined after a total of 30*N iterations.  Calls CSROOT for complex
     square root.  Calls PYTHAG(A,B) for sqrt(A**2 + B**2).  Calls CDIV for
     complex division.  Questions and comments should be directed to B. S.
     Garbow, APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL LABORATORY