QZVAL(3F)

QZVAL, SQZVAL - EISPACK routine. This subroutine is the third step of the QZ algorithm for solving generalized matrix eigenvalue problems,

As shipped in IRIX 6.5.15. Unchanged since IRIX 6.5.

NAME
     QZVAL, SQZVAL   -  EISPACK routine.  This subroutine is the third step of
     the QZ algorithm for solving generalized matrix eigenvalue problems,


SYNOPSYS
          subroutine  qzval(nm, n, a, b, alfr, alfi, beta, matz, z)
          integer          nm, n
          double precision a(nm,n),b(nm,n),alfr(n),alfi(n),beta(n),z(nm,n)
          logical          matz

          subroutine sqzval(nm, n, a, b, alfr, alfi, beta, matz, z)
          integer          nm, n
          real             a(nm,n),b(nm,n),alfr(n),alfi(n),beta(n),z(nm,n)
          logical          matz



DESCRIPTION
     On Input This subroutine accepts a pair of REAL matrices, one of them in
     quasi-triangular form and the other in upper triangular form.  It reduces
     the quasi-triangular matrix further, so that any remaining 2-by-2 blocks
     correspond to pairs of complex eigenvalues, and returns quantities whose
     ratios give the generalized eigenvalues.  It is usually preceded by
     QZHES and  QZIT  and may be followed by  QZVEC.

     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 matrices.

     A contains a real upper quasi-triangular matrix.

     B contains a real upper triangular matrix.  In addition, location B(N,1)
     contains the tolerance quantity (EPSB) computed and saved in  QZIT.

     MATZ should be set to .TRUE. If the right hand transformations are to be
     accumulated for later use in computing eigenvectors, and to .FALSE.
     otherwise.

     Z contains, if MATZ has been set to .TRUE., the transformation matrix
     produced in the reductions by QZHES and QZIT, if performed, or else the
     identity matrix.  If MATZ has been set to .FALSE., Z is not referenced.
     On Output

     A has been reduced further to a quasi-triangular matrix in which all
     nonzero subdiagonal elements correspond to pairs of complex eigenvalues.

     B is still in upper triangular form, although its elements have been
     altered.  B(N,1) is unaltered.

     ALFR and ALFI contain the real and imaginary parts of the diagonal
     elements of the triangular matrix that would be obtained if a were
     reduced completely to triangular form by unitary transformations.  Non-
     zero values of ALFI occur in pairs, the first member positive and the
     second negative.

     BETA contains the diagonal elements of the corresponding B, normalized to
     be real and non-negative.  The generalized eigenvalues are then the
     ratios ((ALFR+I*ALFI)/BETA).

     Z contains the product of the right hand transformations (for all three
     steps) if MATZ has been set to .TRUE.  Questions and comments should be
     directed to B. S. Garbow, APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL
     LABORATORY