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.