ZLAED0(3)
the divide and conquer method, ZLAED0 computes all eigenvalues of a symmetric tridiagonal matrix which is one diagonal block of those from reducing a dense or band Hermitian matrix and corresponding eigenvectors of the dense or band matrix
SYNOPSIS
- SUBROUTINE ZLAED0(
-
QSIZ, N, D, E, Q, LDQ, QSTORE, LDQS, RWORK,
IWORK, INFO )
-
INTEGER
INFO, LDQ, LDQS, N, QSIZ
-
INTEGER
IWORK( * )
-
DOUBLE
PRECISION D( * ), E( * ), RWORK( * )
-
COMPLEX*16
Q( LDQ, * ), QSTORE( LDQS, * )
PURPOSE
Using the divide and conquer method, ZLAED0 computes all eigenvalues
of a symmetric tridiagonal matrix which is one diagonal block of
those from reducing a dense or band Hermitian matrix and
corresponding eigenvectors of the dense or band matrix.
ARGUMENTS
- QSIZ (input) INTEGER
-
The dimension of the unitary matrix used to reduce
the full matrix to tridiagonal form. QSIZ >= N if ICOMPQ = 1.
- N (input) INTEGER
-
The dimension of the symmetric tridiagonal matrix. N >= 0.
- D (input/output) DOUBLE PRECISION array, dimension (N)
-
On entry, the diagonal elements of the tridiagonal matrix.
On exit, the eigenvalues in ascending order.
- E (input/output) DOUBLE PRECISION array, dimension (N-1)
-
On entry, the off-diagonal elements of the tridiagonal matrix.
On exit, E has been destroyed.
- Q (input/output) COMPLEX*16 array, dimension (LDQ,N)
-
On entry, Q must contain an QSIZ x N matrix whose columns
unitarily orthonormal. It is a part of the unitary matrix
that reduces the full dense Hermitian matrix to a
(reducible) symmetric tridiagonal matrix.
- LDQ (input) INTEGER
-
The leading dimension of the array Q. LDQ >= max(1,N).
- IWORK (workspace) INTEGER array,
-
the dimension of IWORK must be at least
6 + 6*N + 5*N*lg N
( lg( N ) = smallest integer k
such that 2^k >= N )
- RWORK (workspace) DOUBLE PRECISION array,
-
dimension (1 + 3*N + 2*N*lg N + 3*N**2)
( lg( N ) = smallest integer k
such that 2^k >= N )
QSTORE (workspace) COMPLEX*16 array, dimension (LDQS, N)
Used to store parts of
the eigenvector matrix when the updating matrix multiplies
take place.
- LDQS (input) INTEGER
-
The leading dimension of the array QSTORE.
LDQS >= max(1,N).
- INFO (output) INTEGER
-
= 0: successful exit.
< 0: if INFO = -i, the i-th argument had an illegal value.
> 0: The algorithm failed to compute an eigenvalue while
working on the submatrix lying in rows and columns
INFO/(N+1) through mod(INFO,N+1).