Visible to Intel only — GUID: GUID-9A7D6379-5E53-4D06-969C-870AF9032775
Visible to Intel only — GUID: GUID-9A7D6379-5E53-4D06-969C-870AF9032775
?laed0
Used by ?stedc. Computes all eigenvalues and corresponding eigenvectors of an unreduced symmetric tridiagonal matrix using the divide and conquer method.
Syntax
call slaed0( icompq, qsiz, n, d, e, q, ldq, qstore, ldqs, work, iwork, info )
call dlaed0( icompq, qsiz, n, d, e, q, ldq, qstore, ldqs, work, iwork, info )
call claed0( qsiz, n, d, e, q, ldq, qstore, ldqs, rwork, iwork, info )
call zlaed0( qsiz, n, d, e, q, ldq, qstore, ldqs, rwork, iwork, info )
Include Files
- mkl.fi
Description
Real flavors of this routine compute all eigenvalues and (optionally) corresponding eigenvectors of a symmetric tridiagonal matrix using the divide and conquer method.
Complex flavors claed0/zlaed0 compute 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.
Input Parameters
- icompq
-
INTEGER. Used with real flavors only.
If icompq = 0, compute eigenvalues only.
If icompq = 1, compute eigenvectors of original dense symmetric matrix also.
On entry, the array q must contain the orthogonal matrix used to reduce the original matrix to tridiagonal form.
If icompq = 2, compute eigenvalues and eigenvectors of the tridiagonal matrix.
- qsiz
-
INTEGER.
The dimension of the orthogonal/unitary matrix used to reduce the full matrix to tridiagonal form; qsiz≥n (for real flavors, qsiz≥n if icompq = 1).
- n
-
INTEGER. The dimension of the symmetric tridiagonal matrix (n≥ 0).
- d, e, rwork
-
REAL for single-precision flavors
DOUBLE PRECISION for double-precision flavors. Arrays:
d(*) contains the main diagonal of the tridiagonal matrix. The dimension of d must be at least max(1, n).
e(*) contains the off-diagonal elements of the tridiagonal matrix. The dimension of e must be at least max(1, n-1).
rwork(*) is a workspace array used in complex flavors only. The dimension of rwork must be at least (1 +3n+2nlog2(n)+3n2), where log2(n) = smallest integer k such that 2k≥n.
- q, qstore
-
REAL for slaed0
DOUBLE PRECISION for dlaed0
COMPLEX for claed0
DOUBLE COMPLEX for zlaed0.
Arrays: q(ldq, *), qstore(ldqs, *). The second dimension of these arrays must be at least max(1, n).
For real flavors:
If icompq = 0, array q is not referenced.
If icompq = 1, on entry, q is a subset of the columns of the orthogonal matrix used to reduce the full matrix to tridiagonal form corresponding to the subset of the full matrix which is being decomposed at this time.
If icompq = 2, on entry, q will be the identity matrix. The array qstore is a workspace array referenced only when icompq = 1. Used to store parts of the eigenvector matrix when the updating matrix multiplies take place.
For complex flavors:
On entry, q must contain an qsiz-by-n matrix whose columns are unitarily orthonormal. It is a part of the unitary matrix that reduces the full dense Hermitian matrix to a (reducible) symmetric tridiagonal matrix. The array qstore is a workspace array used to store parts of the eigenvector matrix when the updating matrix multiplies take place.
- ldq
-
INTEGER. The leading dimension of the array q; ldq≥ max(1, n).
- ldqs
-
INTEGER. The leading dimension of the array qstore; ldqs≥ max(1, n).
- work
-
REAL for slaed0
DOUBLE PRECISION for dlaed0.
Workspace array, used in real flavors only.
If icompq = 0 or 1, the dimension of work must be at least (1 +3n+2nlog2(n)+3n2), where log2(n) = smallest integer k such that 2k≥n.
If icompq = 2, the dimension of work must be at least (4n+n2).
- iwork
-
INTEGER.
Workspace array.
For real flavors, if icompq = 0 or 1, and for complex flavors, the dimension of iwork must be at least (6+6n+5nlog2(n)).
For real flavors, if icompq = 2, the dimension of iwork must be at least (3+5n).
Output Parameters
- d
-
On exit, contains eigenvalues in ascending order.
- e
-
On exit, the array is destroyed.
- q
-
If icompq = 2, on exit, q contains the eigenvectors of the tridiagonal matrix.
- info
-
INTEGER.
If info = 0, the execution is successful.
If info = -i, the i-th parameter had an illegal value.
If info = i >0, the algorithm failed to compute an eigenvalue while working on the submatrix lying in rows and columns i/(n+1) through mod(i, n+1).