HTRID3, SHTRID3 - EISPACK routine. This subroutine reduces a COMPLEX
HERMITIAN matrix, stored as a single square array, to a real symmetric
tridiagonal matrix using unitary similarity transformations.
subroutine htrid3(nm, n, a, d, e, e2, tau)
integer nm, n
double precision a(nm,n), d(n), e(n), e2(n), tau(2,n)
subroutine shtrid3(nm, n, a, d, e, e2, tau)
integer nm, n
real a(nm,n), d(n), e(n), e2(n), tau(2,n)
NM must be set to the row dimension of two-dimensional array parameters
as declared in the calling program dimension statement.
N is the order of the matrix.
A contains the lower triangle of the complex hermitian input matrix. The
real parts of the matrix elements are stored in the full lower triangle
of A, and the imaginary parts are stored in the transposed positions of
the strict upper triangle of A. No storage is required for the zero
imaginary parts of the diagonal elements. On OUTPUT
A contains information about the unitary transformations used in the
D contains the diagonal elements of the the tridiagonal matrix.
E contains the subdiagonal elements of the tridiagonal matrix in its last
N-1 positions. E(1) is set to zero.
E2 contains the squares of the corresponding elements of E. E2 may
coincide with E if the squares are not needed.
TAU contains further information about the transformations. Calls
PYTHAG(A,B) for sqrt(A**2 + B**2). Questions and comments should be
directed to B. S. Garbow, APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL
PPPPaaaaggggeeee 1111 [ Back ]