Previous: zptcon Up: ../lapack-z.html Next: zptrfs

# zpteqr

```
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.
```