Previous: cptcon Up: ../lapack-c.html Next: cptrfs

NAME CPTEQR - compute all eigenvalues and, optionally, eigenvec- tors of a symmetric positive definite tridiagonal matrix by first factoring the matrix using SPTTRF and then calling CBDSQR to compute the singular values of the bidiagonal fac- tor SYNOPSIS SUBROUTINE CPTEQR( COMPZ, N, D, E, Z, LDZ, WORK, INFO ) CHARACTER COMPZ INTEGER INFO, LDZ, N REAL D( * ), E( * ), WORK( * ) COMPLEX Z( LDZ, * ) PURPOSE CPTEQR computes all eigenvalues and, optionally, eigenvec- tors of a symmetric positive definite tridiagonal matrix by first factoring the matrix using SPTTRF and then calling CBDSQR to compute the singular values of the bidiagonal fac- tor. This routine computes the eigenvalues of the positive defin- ite tridiagonal matrix to high relative accuracy. This means that if the eigenvalues range over many orders of mag- nitude in size, then the small eigenvalues and corresponding eigenvectors will be computed more accurately than, for example, with the standard QR method. The eigenvectors of a full or band complex Hermitian matrix can also be found if CHETRD or CHPTRD or CHBTRD has been used to reduce this matrix to tridiagonal form. (The reduc- tion to tridiagonal form, however, may preclude the possi- bility of obtaining high relative accuracy in the small eigenvalues of the original matrix, if these eigenvalues range over many orders of magnitude.) ARGUMENTS COMPZ (input) CHARACTER*1 = 'N': Compute eigenvalues only. = 'V': Compute eigenvectors of original Hermitian matrix also. Array Z contains the unitary matrix used to reduce the original matrix to tridiagonal form. = 'I': Compute eigenvectors of tridiagonal matrix also. N (input) INTEGER The order of the matrix. N >= 0. D (input/output) REAL array, dimension (N) On entry, the n diagonal elements of the tridiagonal matrix. On normal exit, D contains the eigenvalues, in descending order. E (input/output) REAL array, dimension (N-1) On entry, the (n-1) subdiagonal elements of the tri- diagonal matrix. On exit, E has been destroyed. Z (input/output) COMPLEX array, dimension (LDZ, N) On entry, if COMPZ = 'V', the unitary matrix used in the reduction to tridiagonal form. On exit, if COMPZ = 'V', the orthonormal eigenvectors of the original Hermitian matrix; if COMPZ = 'I', the orthonormal eigenvectors of the tridiagonal matrix. If INFO > 0 on exit, Z contains the eigenvectors associated with only the stored eigenvalues. If COMPZ = 'N', then Z is not referenced. LDZ (input) INTEGER The leading dimension of the array Z. LDZ >= 1, and if COMPZ = 'V' or 'I', LDZ >= max(1,N). WORK (workspace) REAL array, dimension (max(1,4*N-4)) If COMPZ = 'N', then WORK is not referenced. INFO (output) INTEGER = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value. > 0: if INFO = i, and i is: <= N the Cholesky fac- torization of the matrix could not be performed because the i-th principal minor was not positive definite. > N the SVD algorithm failed to con- verge; if INFO = N+i, i off-diagonal elements of the bidiagonal factor did not converge to zero.