DSTEQR - compute all eigenvalues and, optionally, eigen
vectors of a symmetric tridiagonal matrix using the
implicit QL or QR method
SYNOPSIS
SUBROUTINE DSTEQR( COMPZ, N, D, E, Z, LDZ, WORK, INFO )
CHARACTER COMPZ
INTEGER INFO, LDZ, N
DOUBLE PRECISION D( * ), E( * ), WORK( * ), Z(
LDZ, * )
PURPOSE
DSTEQR computes all eigenvalues and, optionally, eigenvec
tors of a symmetric tridiagonal matrix using the implicit
QL or QR method. The eigenvectors of a full or band sym
metric matrix can also be found if DSYTRD or DSPTRD or
DSBTRD has been used to reduce this matrix to tridiagonal
form.
ARGUMENTS
COMPZ (input) CHARACTER*1
= 'N': Compute eigenvalues only.
= 'V': Compute eigenvalues and eigenvectors of
the original symmetric matrix. On entry, Z must
contain the orthogonal matrix used to reduce the
original matrix to tridiagonal form. = 'I': Com
pute eigenvalues and eigenvectors of the tridiago
nal matrix. Z is initialized to the identity
matrix.
N (input) INTEGER
The order of the matrix. N >= 0.
D (input/output) DOUBLE PRECISION array, dimension
(N)
On entry, the diagonal elements of the tridiagonal
matrix. On exit, if INFO = 0, the eigenvalues in
ascending order.
E (input/output) DOUBLE PRECISION array, dimension
(N-1)
On entry, the (n-1) subdiagonal elements of the
tridiagonal matrix. On exit, E has been
destroyed.
Z (input/output) DOUBLE PRECISION array, dimension
(LDZ, N)
On entry, if COMPZ = 'V', then Z contains the
orthogonal matrix used in the reduction to
COMPZ = 'V', Z contains the orthonormal eigenvec
tors of the original symmetric matrix, and if
COMPZ = 'I', Z contains the orthonormal eigenvec
tors of the symmetric tridiagonal matrix. If
COMPZ = 'N', then Z is not referenced.
LDZ (input) INTEGER
The leading dimension of the array Z. LDZ >= 1,
and if eigenvectors are desired, then LDZ >=
max(1,N).
WORK (workspace) DOUBLE PRECISION array,
dimension (max(1,2*N-2))
If COMPZ = 'N', then WORK is not referenced.
INFO (output) INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an ille
gal value
> 0: the algorithm has failed to find all the
eigenvalues in a total of 30*N iterations; if INFO
= i, then i elements of E have not converged to
zero; on exit, D and E contain the elements of a
symmetric tridiagonal matrix which is orthogonally
similar to the original matrix.
Man(1) output converted with
man2html