QZIT(3F)

QZIT, SQZIT - EISPACK routine. This subroutine is the second step of the QZ algorithm for solving generalized matrix eigenvalue problems,

As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.

NAME
     QZIT, SQZIT  -  EISPACK routine.  This subroutine is the second step of
     the QZ algorithm for solving generalized matrix eigenvalue problems,


SYNOPSYS
          subroutine  qzit(nm, n, a, b, eps1, matz, z, ierr)
          integer           nm, n, ierr
          double precision  eps1
          double precision a(nm,n), b(nm,n), z(nm,n)
          logical          matz

          subroutine sqzit(nm, n, a, b, eps1, matz, z, ierr)
          integer           nm, n, ierr
          real              eps1
          real             a(nm,n), b(nm,n), z(nm,n)
          logical          matz



DESCRIPTION
     This subroutine accepts a pair of REAL matrices, one of them in upper
     Hessenberg form and the other in upper triangular form.  It reduces the
     Hessenberg matrix to quasi-triangular form using orthogonal
     transformations while maintaining the triangular form of the other
     matrix.  It is usually preceded by  QZHES  and followed by  QZVAL  and,
     possibly,  QZVEC.

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

     A contains a real upper Hessenberg matrix.

     B contains a real upper triangular matrix.

     EPS1 is a tolerance used to determine negligible elements. EPS1 = 0.0 (or
     negative) may be input, in which case an element will be neglected only
     if it is less than roundoff error times the norm of its matrix.  If the
     input EPS1 is positive, then an element will be considered negligible if
     it is less than EPS1 times the norm of its matrix.  A positive value of
     EPS1 may result in faster execution, but less accurate results.

     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 reduction by  QZHES, if performed, or else the identity
     matrix.  If MATZ has been set to .FALSE., Z is not referenced.  On Output

     A has been reduced to quasi-triangular form.  The elements below the
     first subdiagonal are still zero and no two consecutive subdiagonal
     elements are nonzero.

     B is still in upper triangular form, although its elements have been
     altered.  The location B(N,1) is used to store EPS1 times the norm of B
     for later use by  QZVAL  and  QZVEC.

     Z contains the product of the right hand transformations (for both steps)
     if MATZ has been set to .TRUE.

     IERR is set to ZERO       for normal return, J          if neither
     A(J,J-1) nor A(J-1,J-2) has become
        zero after a total of 30*N iterations.  Questions and comments should
     be directed to B. S. Garbow, APPLIED MATHEMATICS DIVISION, ARGONNE
     NATIONAL LABORATORY