?steqr2
?steqr2
Computes all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL or QR method.
Syntax
void
ssteqr2
(
char
*compz
,
MKL_INT
*n
,
float
*d
,
float
*e
,
float
*z
,
MKL_INT
*ldz
,
MKL_INT
*nr
,
float
*work
,
MKL_INT
*info
);
void
dsteqr2
(
char
*compz
,
MKL_INT
*n
,
double
*d
,
double
*e
,
double
*z
,
MKL_INT
*ldz
,
MKL_INT
*nr
,
double
*work
,
MKL_INT
*info
);
Include Files
- mkl_scalapack.h
Description
The
?steqr2
function
is a modified version of LAPACK function
?steqr
. The ?steqr2
function
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 function
p?syev
.Input Parameters
- compz
- n
- The order of the matrixT(.n≥0)
- d,e,work
- Arrays:dcontains the diagonal elements ofT. The size ofdmust be at leastmax(1,.n)econtains the(subdiagonal elements ofn-1)T. The size ofemust be at leastmax(1,.n-1)workis a workspace array. The size ofworkismax(1, 2. If*n-2), thencompz='N'workis not referenced.
- z
- (local)Array of global sizen*nand of local sizeldz*nr.If, thencompz='V'zcontains the orthogonal matrix used in the reduction to tridiagonal form.
- ldz
- The leading dimension of the arrayz. Constraints:,ldz≥1, if eigenvectors are desired.ldz≥max(1,n)
- nr
- nr=max(1,.numroc(n,nb,myprow, 0,nprocs))If, thencompz='N'nris not referenced.
Output Parameters
- d
- On exit, the eigenvalues in ascending order, if.info= 0See also.info
- e
- On exit,ehas been destroyed.
- z
- On exit, if, then,info= 0if,compz='V'zcontains the orthonormal eigenvectors of the original symmetric matrix, and if,compz='I'zcontains the orthonormal eigenvectors of the symmetric tridiagonal matrix. If, thencompz='N'zis not referenced.
- info
- , the exit is successful.info= 0: ifinfo< 0, theinfo=-ii-th had an illegal value.: the algorithm has failed to find all the eigenvalues in a total of 30info>0niterations;if, theninfo=iielements ofehave not converged to zero; on exit,dandecontain the elements of a symmetric tridiagonal matrix, which is orthogonally similar to the original matrix.