CHIEV(3)

SYNOPSIS
SUBROUTINE CHIEV (A, LDA, N, E, V, LDV, WORK, JOB, INFO)

NAME
chiev - Compute the eigenvalues and, optionally, the eigenvectors of a complex Hermitian matrix.

LIBRARY
SLATEC

CATEGORY
D4A3

TYPE
COMPLEX (SSIEV-S, CHIEV-C)

KEYWORDS
COMPLEX HERMITIAN, EIGENVALUES, EIGENVECTORS, MATRIX, SYMMETRIC

AUTHOR
Kahaner, D. K., (NBS) Moler, C. B., (U. of New Mexico) Stewart, G. W., (U. of Maryland)

DESCRIPTION
David Kahaner, Cleve Moler, G. W. Stewart, N.B.S. U.N.M. N.B.S./U.MD. Abstract CHIEV computes the eigenvalues and, optionally, the eigenvectors of a complex Hermitian matrix. Call Sequence Parameters- (the values of parameters marked with * (star) will be changed by CHIEV.) A* COMPLEX(LDA,N) complex Hermitian input matrix. Only the upper triangle of A need be filled in. Elements on diagonal must be real. LDA INTEGER set by the user to the leading dimension of the complex array A. N INTEGER set by the user to the order of the matrices A and V, and the number of elements in E. E* REAL(N) on return from CHIEV E contains the eigenvalues of A. See also INFO below. V* COMPLEX(LDV,N) on return from CHIEV if the user has set JOB = 0 V is not referenced. = nonzero the N eigenvectors of A are stored in the first N columns of V. See also INFO below. LDV INTEGER set by the user to the leading dimension of the array V if JOB is also set nonzero. In that case N must be .LE. LDV. If JOB is set to zero LDV is not referenced. WORK* REAL(4N) temporary storage vector. Contents changed by CHIEV. JOB INTEGER set by the user to = 0 eigenvalues only to be calculated by CHIEV. Neither V nor LDV are referenced. = nonzero eigenvalues and vectors to be calculated. In this case A and V must be distinct arrays also if LDA .GT. LDV CHIEV changes all the elements of A thru column N. If LDA < LDV CHIEV changes all the elements of V through column N. If LDA = LDV only A(I,J) and V(I, J) for I,J = 1,...,N are changed by CHIEV. INFO* INTEGER on return from CHIEV the value of INFO is = 0 normal return, calculation successful. = K if the eigenvalue iteration fails to converge, eigenvalues (and eigenvectors if requested) 1 through K-1 are correct. Error Messages No. 1 recoverable N is greater than LDA No. 2 recoverable N is less than one. No. 3 recoverable JOB is nonzero and N is greater than LDV No. 4 warning LDA > LDV, elements of A other than the N by N input elements have been changed No. 5 warning LDA < LDV, elements of V other than the N by N output elements have been changed No. 6 recoverable nonreal element on diagonal of A.

REFERENCES
(NONE)

ROUTINES CALLED
HTRIBK, HTRIDI, IMTQL2, SCOPY, SCOPYM, TQLRAT, XERMSG

REVISION HISTORY (YYMMDD)
800808 DATE WRITTEN
890531 Changed all specific intrinsics to generic. (WRB)
890531 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
900315 CALLs to XERROR changed to CALLs to XERMSG. (THJ)