Developer Reference for Intel® oneAPI Math Kernel Library for C
?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_intLAPACKE_sdisna ( charjob , lapack_intm , lapack_intn , constfloat*d , float*sep );
lapack_intLAPACKE_ddisna ( charjob , lapack_intm , lapack_intn , constdouble*d , double*sep );
Include Files
mkl.h
Description
sdisna ddisna disna
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
-
REAL for sdisna DOUBLE PRECISION for ddisna . 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
-
REAL for sdisna DOUBLE PRECISION for ddisna . 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.
LAPACK 95 Interface Notes
There exist FORTRAN 77 and FORTRAN 95 interfaces for this routine. See the Intel® oneMKL Fortran Developer Reference for details.