Previous: eltran Up: ../eispas.html Next: figi2


FIGI(NM,N,T,D,E,E2,IERR)

       SUBROUTINE FIGI(NM,N,T,D,E,E2,IERR)
 C
       INTEGER I,N,NM,IERR
       REAL T(NM,3),D(N),E(N),E2(N)
 C
 C     GIVEN A NONSYMMETRIC TRIDIAGONAL MATRIX SUCH THAT THE PRODUCTS
 C     OF CORRESPONDING PAIRS OF OFF-DIAGONAL ELEMENTS ARE ALL
 C     NON-NEGATIVE, THIS SUBROUTINE REDUCES IT TO A SYMMETRIC
 C     TRIDIAGONAL MATRIX WITH THE SAME EIGENVALUES.  IF, FURTHER,
 C     A ZERO PRODUCT ONLY OCCURS WHEN BOTH FACTORS ARE ZERO,
 C     THE REDUCED MATRIX IS SIMILAR TO THE ORIGINAL MATRIX.
 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 MATRIX.
 C
 C        T CONTAINS THE INPUT MATRIX.  ITS SUBDIAGONAL IS
 C          STORED IN THE LAST N-1 POSITIONS OF THE FIRST COLUMN,
 C          ITS DIAGONAL IN THE N POSITIONS OF THE SECOND COLUMN,
 C          AND ITS SUPERDIAGONAL IN THE FIRST N-1 POSITIONS OF
 C          THE THIRD COLUMN.  T(1,1) AND T(N,3) ARE ARBITRARY.
 C
 C     ON OUTPUT
 C
 C        T IS UNALTERED.
 C
 C        D CONTAINS THE DIAGONAL ELEMENTS OF THE SYMMETRIC MATRIX.
 C
 C        E CONTAINS THE SUBDIAGONAL ELEMENTS OF THE SYMMETRIC
 C          MATRIX IN ITS LAST N-1 POSITIONS.  E(1) IS NOT SET.
 C
 C        E2 CONTAINS THE SQUARES OF THE CORRESPONDING ELEMENTS OF E.
 C          E2 MAY COINCIDE WITH E IF THE SQUARES ARE NOT NEEDED.
 C
 C        IERR IS SET TO
 C          ZERO       FOR NORMAL RETURN,
 C          N+I        IF T(I,1)*T(I-1,3) IS NEGATIVE,
 C          -(3*N+I)   IF T(I,1)*T(I-1,3) IS ZERO WITH ONE FACTOR
 C                     NON-ZERO.  IN THIS CASE, THE EIGENVECTORS OF
 C                     THE SYMMETRIC MATRIX ARE NOT SIMPLY RELATED
 C                     TO THOSE OF  T  AND SHOULD NOT BE 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