Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

?disna

Computes the reciprocal condition numbers for the eigenvectors of a symmetric/ Hermitian matrix or for the left or right singular vectors of a general matrix.

Syntax

lapack_int
LAPACKE_sdisna
(
char
job
,
lapack_int
m
,
lapack_int
n
,
const
float
*
d
,
float
*
sep
);
lapack_int
LAPACKE_ddisna
(
char
job
,
lapack_int
m
,
lapack_int
n
,
const
double
*
d
,
double
*
sep
);
Include Files
  • mkl.h
Description
The routine computes the reciprocal condition numbers for the eigenvectors of a real symmetric or complex Hermitian matrix or for the left or right singular vectors of a general
m
-by-
n
matrix.
The reciprocal condition number is the 'gap' between the corresponding eigenvalue or singular value and the nearest other one.
The bound on the error, measured by angle in radians, in the
i
-th computed vector is given by
?lamch
('E')*(
anorm
/
sep
(
i
))
where
anorm
= ||
A
||
2
= max( |
d
(j)| )
.
sep
(
i
) is not allowed to be smaller than
slamch
('E')*
anorm
in order to limit the size of the error bound.
?disna
may also be used to compute error bounds for eigenvectors of the generalized symmetric definite eigenproblem.
Input Parameters
job
Must be
'E'
,
'L'
, or
'R'
. Specifies for which problem the reciprocal condition numbers should be computed:
job
=
'E'
: for the eigenvectors of a symmetric/Hermitian matrix;
job
=
'L'
: for the left singular vectors of a general matrix;
job
=
'R'
: for the right singular vectors of a general matrix.
m
The number of rows of the matrix (
m
0
).
n
If
job
=
'L'
, or
'R'
, the number of columns of the matrix (
n
0
). Ignored if
job
=
'E'
.
d
Array, dimension at least max(1,
m
) if
job
=
'E'
, and at least max(1, min(
m,n
)) if
job
=
'L'
or
'R'
.
This array must contain the eigenvalues (if
job
=
'E'
) or singular values (if
job
=
'L'
or
'R'
) of the matrix, in either increasing or decreasing order.
If singular values, they must be non-negative.
Output Parameters
sep
Array, dimension at least max(1,
m
) if
job
=
'E'
, and at least max(1, min(
m,n
)) if
job
=
'L'
or
'R'
. The reciprocal condition numbers of the vectors.
Return Values
This function returns a value
info
.
If
info
=0
, the execution is successful.
If
info
=
-i
, the
i
-th parameter had an illegal value.

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