_IMTQLV(3F)_IMTQLV(3F)NAME
IMTQLV, SIMTQLV - EISPACK routine. This subroutine is a variant of
IMTQL1.
SYNOPSYS
subroutine imtqlv(n, d, e, e2, w, ind, ierr, rv1)
integer n, ierr, ind(n)
double precision d(n), e(n), e2(n), w(n), rv1(n)
subroutine simtqlv(n, d, e, e2, w, ind, ierr, rv1)
integer n, ierr, ind(n)
real d(n), e(n), e2(n), w(n), rv1(n)DESCRIPTION
This subroutine finds the eigenvalues of a SYMMETRIC TRIDIAGONAL matrix
by the implicit QL method and associates with them their corresponding
submatrix indices.
On INPUT
N is the order of the matrix.
D contains the diagonal elements of the input matrix.
E contains the subdiagonal elements of the input matrix in its last N-1
positions. E(1) is arbitrary.
E2 contains the squares of the corresponding elements of E. E2(1) is
arbitrary. On OUTPUT
D and E are unaltered. Elements of E2, corresponding to elements of E
regarded as negligible, have been replaced by zero causing the matrix to
split into a direct sum of submatrices. E2(1) is also set to zero.
W contains the eigenvalues in ascending order. If an error exit is made,
the eigenvalues are correct and ordered for indices 1,2,...IERR-1, but
may not be the smallest eigenvalues.
IND contains the submatrix indices associated with the corresponding
eigenvalues in W -- 1 for eigenvalues belonging to the first submatrix
from the top, 2 for those belonging to the second submatrix, etc.
IERR is set to ZERO for normal return, J if the J-th
eigenvalue has not been
determined after 30 iterations.
RV1 is a temporary storage array. 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 LABORATORY
Page 1