QZIT, SQZIT - EISPACK routine. This subroutine is the second step of
the QZ algorithm for solving generalized matrix eigenvalue problems,
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)
subroutine sqzit(nm, n, a, b, eps1, matz, z, ierr)
integer nm, n, ierr
real a(nm,n), b(nm,n), z(nm,n)
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,
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.
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
PPPPaaaaggggeeee 2222 [ Back ]