Previous: eltran Up: ../eispad.html Next: figi2
SUBROUTINE FIGI(NM,N,T,D,E,E2,IERR) C INTEGER I,N,NM,IERR DOUBLE PRECISION 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