Previous: htribk Up: ../eispas.html Next: htridi
SUBROUTINE HTRID3(NM,N,A,D,E,E2,TAU)
C
INTEGER I,J,K,L,N,II,NM,JM1,JP1
REAL A(NM,N),D(N),E(N),E2(N),TAU(2,N)
REAL 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 TRED3, 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, STORED AS
C A SINGLE SQUARE ARRAY, TO A REAL SYMMETRIC TRIDIAGONAL MATRIX
C USING 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 A CONTAINS THE LOWER TRIANGLE OF THE COMPLEX HERMITIAN INPUT
C MATRIX. THE REAL PARTS OF THE MATRIX ELEMENTS ARE STORED
C IN THE FULL LOWER TRIANGLE OF A, AND THE IMAGINARY PARTS
C ARE STORED IN THE TRANSPOSED POSITIONS OF THE STRICT UPPER
C TRIANGLE OF A. NO STORAGE IS REQUIRED FOR THE ZERO
C IMAGINARY PARTS OF THE DIAGONAL ELEMENTS.
C
C ON OUTPUT
C
C A CONTAINS INFORMATION ABOUT THE UNITARY TRANSFORMATIONS
C USED IN THE REDUCTION.
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 SQRT(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