Previous: qzhes Up: ../eispad.html Next: qzval


QZIT(NM,N,A,B,EPS1,MATZ,Z,IERR)

       SUBROUTINE QZIT(NM,N,A,B,EPS1,MATZ,Z,IERR)
 C
       INTEGER I,J,K,L,N,EN,K1,K2,LD,LL,L1,NA,NM,ISH,ITN,ITS,KM1,LM1,
      X        ENM2,IERR,LOR1,ENORN
       DOUBLE PRECISION A(NM,N),B(NM,N),Z(NM,N)
       DOUBLE PRECISION R,S,T,A1,A2,A3,EP,SH,U1,U2,U3,V1,V2,V3,ANI,A11,
      X       A12,A21,A22,A33,A34,A43,A44,BNI,B11,B12,B22,B33,B34,
      X       B44,EPSA,EPSB,EPS1,ANORM,BNORM,EPSLON
       LOGICAL MATZ,NOTLAS
 C
 C     THIS SUBROUTINE IS THE SECOND STEP OF THE QZ ALGORITHM
 C     FOR SOLVING GENERALIZED MATRIX EIGENVALUE PROBLEMS,
 C     SIAM J. NUMER. ANAL. 10, 241-256(1973) BY MOLER AND STEWART,
 C     AS MODIFIED IN TECHNICAL NOTE NASA TN D-7305(1973) BY WARD.
 C
 C     THIS SUBROUTINE ACCEPTS A PAIR OF REAL MATRICES, ONE OF THEM
 C     IN UPPER HESSENBERG FORM AND THE OTHER IN UPPER TRIANGULAR FORM.
 C     IT REDUCES THE HESSENBERG MATRIX TO QUASI-TRIANGULAR FORM USING
 C     ORTHOGONAL TRANSFORMATIONS WHILE MAINTAINING THE TRIANGULAR FORM
 C     OF THE OTHER MATRIX.  IT IS USUALLY PRECEDED BY  QZHES  AND
 C     FOLLOWED BY  QZVAL  AND, POSSIBLY,  QZVEC.
 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 MATRICES.
 C
 C        A CONTAINS A REAL UPPER HESSENBERG MATRIX.
 C
 C        B CONTAINS A REAL UPPER TRIANGULAR MATRIX.
 C
 C        EPS1 IS A TOLERANCE USED TO DETERMINE NEGLIGIBLE ELEMENTS.
 C          EPS1 = 0.0 (OR NEGATIVE) MAY BE INPUT, IN WHICH CASE AN
 C          ELEMENT WILL BE NEGLECTED ONLY IF IT IS LESS THAN ROUNDOFF
 C          ERROR TIMES THE NORM OF ITS MATRIX.  IF THE INPUT EPS1 IS
 C          POSITIVE, THEN AN ELEMENT WILL BE CONSIDERED NEGLIGIBLE
 C          IF IT IS LESS THAN EPS1 TIMES THE NORM OF ITS MATRIX.  A
 C          POSITIVE VALUE OF EPS1 MAY RESULT IN FASTER EXECUTION,
 C          BUT LESS ACCURATE RESULTS.
 C
 C        MATZ SHOULD BE SET TO .TRUE. IF THE RIGHT HAND TRANSFORMATIONS
 C          ARE TO BE ACCUMULATED FOR LATER USE IN COMPUTING
 C          EIGENVECTORS, AND TO .FALSE. OTHERWISE.
 C
 C        Z CONTAINS, IF MATZ HAS BEEN SET TO .TRUE., THE
 C          TRANSFORMATION MATRIX PRODUCED IN THE REDUCTION
 C          BY  QZHES, IF PERFORMED, OR ELSE THE IDENTITY MATRIX.
 C          IF MATZ HAS BEEN SET TO .FALSE., Z IS NOT REFERENCED.
 C
 C     ON OUTPUT
 C
 C        A HAS BEEN REDUCED TO QUASI-TRIANGULAR FORM.  THE ELEMENTS
 C          BELOW THE FIRST SUBDIAGONAL ARE STILL ZERO AND NO TWO
 C          CONSECUTIVE SUBDIAGONAL ELEMENTS ARE NONZERO.
 C
 C        B IS STILL IN UPPER TRIANGULAR FORM, ALTHOUGH ITS ELEMENTS
 C          HAVE BEEN ALTERED.  THE LOCATION B(N,1) IS USED TO STORE
 C          EPS1 TIMES THE NORM OF B FOR LATER USE BY  QZVAL  AND  QZVEC.
 C
 C        Z CONTAINS THE PRODUCT OF THE RIGHT HAND TRANSFORMATIONS
 C          (FOR BOTH STEPS) IF MATZ HAS BEEN SET TO .TRUE..
 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     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