Developer Reference

  • 2021.1
  • 12/04/2020
  • Public Content
Contents

?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
Must be
'N'
or
'I'
.
If
compz
=
'N'
, the
function
computes eigenvalues only. If
compz
=
'I'
, the
function
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
function
.
n
The order of the matrix
T
(
n
0)
.
d
,
e
,
work
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)
Array of global size
n
*
n
and of local size
ldz
*
nr
.
If
compz
=
'V'
, then
z
contains the orthogonal matrix used in the reduction to tridiagonal form.
ldz
The leading dimension of the array
z
. Constraints:
ldz
1
,
ldz
max(1,
n
)
, if eigenvectors are desired.
nr
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
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 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.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.