Previous: zptcon Up: ../lapack-z.html Next: zptrfs
NAME ZPTEQR - compute all eigenvalues and, optionally, eigenvec- tors of a symmetric positive definite tridiagonal matrix by first factoring the matrix using DPTTRF and then calling ZBDSQR to compute the singular values of the bidiagonal fac- tor SYNOPSIS SUBROUTINE ZPTEQR( COMPZ, N, D, E, Z, LDZ, WORK, INFO ) CHARACTER COMPZ INTEGER INFO, LDZ, N DOUBLE PRECISION D( * ), E( * ), WORK( * ) COMPLEX*16 Z( LDZ, * ) PURPOSE ZPTEQR computes all eigenvalues and, optionally, eigenvec- tors of a symmetric positive definite tridiagonal matrix by first factoring the matrix using DPTTRF and then calling ZBDSQR 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 ZHETRD or ZHPTRD or ZHBTRD 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) DOUBLE PRECISION 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) DOUBLE PRECISION 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*16 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). (max(1,4*N-4)) WORK (workspace) DOUBLE PRECISION array, dimension 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.