Visible to Intel only — GUID: GUID-43194A76-1612-4587-B31C-E5B16041A46D
Visible to Intel only — GUID: GUID-43194A76-1612-4587-B31C-E5B16041A46D
?steqr2
Computes all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL or QR method.
Syntax
call ssteqr2(compz, n, d, e, z, ldz, nr, work, info)
call dsteqr2(compz, n, d, e, z, ldz, nr, work, info)
Description
The ?steqr2routine is a modified version of LAPACK routine ?steqr. The ?steqr2routine computes all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL or QR method. ?steqr2 is modified from ?steqr to allow each ScaLAPACK process running ?steqr2 to perform updates on a distributed matrix Q. Proper usage of ?steqr2 can be gleaned from examination of ScaLAPACK routine p?syev.
Input Parameters
- compz
-
CHARACTER*1. Must be 'N' or 'I'.
If compz = 'N', the routine computes eigenvalues only. If compz = 'I', the routine computes the eigenvalues and eigenvectors of the tridiagonal matrix T.
z must be initialized to the identity matrix by p?laset or ?laset prior to entering this subroutine.
- n
-
INTEGER. The order of the matrix T(n ≥ 0).
- d, e, work
-
REAL for ssteqr2
DOUBLE PRECISION for dsteqr2
Arrays:
d contains the diagonal elements of T. The size of d must be at least max(1, n).
e contains the (n-1) subdiagonal elements of T. The size of e must be at least max(1, n-1).
work is a workspace array. The size of work is max(1, 2*n-2). If compz = 'N', then work is not referenced.
- z
-
(local)
REAL for ssteqr2
DOUBLE PRECISION for dsteqr2
Array of global size nby n and of local size ldzby nr.
If compz = 'V', then z contains the orthogonal matrix used in the reduction to tridiagonal form.
- ldz
-
INTEGER. The leading dimension of the array z. Constraints:
ldz ≥ 1,
ldz ≥ max(1, n), if eigenvectors are desired.
- nr
-
INTEGER. nr = max(1, numroc(n, nb, myprow, 0, nprocs)).
If compz = 'N', then nr is not referenced.
Output Parameters
- d
-
On exit, the eigenvalues in ascending order, if info = 0.
See also info.
- e
-
On exit, e has been destroyed.
- z
-
On exit, if info = 0, then,
if compz = 'V', z contains the orthonormal eigenvectors of the original symmetric matrix, and if compz = 'I', z contains the orthonormal eigenvectors of the symmetric tridiagonal matrix. If compz = 'N', then z is not referenced.
- info
-
INTEGER.
info = 0, the exit is successful.
info < 0: if info = -i, the i-th had an illegal value.
info > 0: the algorithm has failed to find all the eigenvalues in a total of 30n 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.