Previous: htrid3 Up: ../eispad.html Next: imtql1


HTRIDI(NM,N,AR,AI,D,E,E2,TAU)

       SUBROUTINE HTRIDI(NM,N,AR,AI,D,E,E2,TAU)
 C
       INTEGER I,J,K,L,N,II,NM,JP1
       DOUBLE PRECISION AR(NM,N),AI(NM,N),D(N),E(N),E2(N),TAU(2,N)
       DOUBLE PRECISION F,G,H,FI,GI,HH,SI,SCALE,PYTHAG
 C
 C     THIS SUBROUTINE IS A TRANSLATION OF A COMPLEX ANALOGUE OF
 C     THE ALGOL PROCEDURE TRED1, NUM. MATH. 11, 181-195(1968)
 C     BY MARTIN, REINSCH, AND WILKINSON.
 C     HANDBOOK FOR AUTO. COMP., VOL.II-LINEAR ALGEBRA, 212-226(1971).
 C
 C     THIS SUBROUTINE REDUCES A COMPLEX HERMITIAN MATRIX
 C     TO A REAL SYMMETRIC TRIDIAGONAL MATRIX USING
 C     UNITARY SIMILARITY TRANSFORMATIONS.
 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        AR AND AI CONTAIN THE REAL AND IMAGINARY PARTS,
 C          RESPECTIVELY, OF THE COMPLEX HERMITIAN INPUT MATRIX.
 C          ONLY THE LOWER TRIANGLE OF THE MATRIX NEED BE SUPPLIED.
 C
 C     ON OUTPUT
 C
 C        AR AND AI CONTAIN INFORMATION ABOUT THE UNITARY TRANS-
 C          FORMATIONS USED IN THE REDUCTION IN THEIR FULL LOWER
 C          TRIANGLES.  THEIR STRICT UPPER TRIANGLES AND THE
 C          DIAGONAL OF AR ARE UNALTERED.
 C
 C        D CONTAINS THE DIAGONAL ELEMENTS OF THE THE TRIDIAGONAL MATRIX.
 C
 C        E CONTAINS THE SUBDIAGONAL ELEMENTS OF THE TRIDIAGONAL
 C          MATRIX IN ITS LAST N-1 POSITIONS.  E(1) IS SET TO ZERO.
 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        TAU CONTAINS FURTHER INFORMATION ABOUT THE TRANSFORMATIONS.
 C
 C     CALLS PYTHAG FOR  DSQRT(A*A + B*B) .
 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