Developer Reference

  • 0.9
  • 09/09/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

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804