sdisna - compute 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
SUBROUTINE SDISNA(JOB, M, N, D, SEP, INFO) CHARACTER*1 JOB INTEGER M, N, INFO REAL D(*), SEP(*) SUBROUTINE SDISNA_64(JOB, M, N, D, SEP, INFO) CHARACTER*1 JOB INTEGER*8 M, N, INFO REAL D(*), SEP(*) F95 INTERFACE SUBROUTINE DISNA(JOB, M, N, D, SEP, INFO) CHARACTER(LEN=1) :: JOB INTEGER :: M, N, INFO REAL, DIMENSION(:) :: D, SEP SUBROUTINE DISNA_64(JOB, M, N, D, SEP, INFO) CHARACTER(LEN=1) :: JOB INTEGER(8) :: M, N, INFO REAL, DIMENSION(:) :: D, SEP C INTERFACE #include <sunperf.h> void sdisna(char job, int m, int n, float *d, float *sep, int *info); void sdisna_64(char job, long m, long n, float *d, float *sep, long *info);
Oracle Solaris Studio Performance Library sdisna(3P) NAME sdisna - compute 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 SYNOPSIS SUBROUTINE SDISNA(JOB, M, N, D, SEP, INFO) CHARACTER*1 JOB INTEGER M, N, INFO REAL D(*), SEP(*) SUBROUTINE SDISNA_64(JOB, M, N, D, SEP, INFO) CHARACTER*1 JOB INTEGER*8 M, N, INFO REAL D(*), SEP(*) F95 INTERFACE SUBROUTINE DISNA(JOB, M, N, D, SEP, INFO) CHARACTER(LEN=1) :: JOB INTEGER :: M, N, INFO REAL, DIMENSION(:) :: D, SEP SUBROUTINE DISNA_64(JOB, M, N, D, SEP, INFO) CHARACTER(LEN=1) :: JOB INTEGER(8) :: M, N, INFO REAL, DIMENSION(:) :: D, SEP C INTERFACE #include <sunperf.h> void sdisna(char job, int m, int n, float *d, float *sep, int *info); void sdisna_64(char job, long m, long n, float *d, float *sep, long *info); PURPOSE sdisna 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 con- dition number is the 'gap' between the corresponding eigenvalue or sin- gular value and the nearest other one. The bound on the error, measured by angle in radians, in the I-th com- puted vector is given by SLAMCH( 'E' ) * ( ANORM / SEP( I ) ) where ANORM = 2-norm(A) = max( abs( D(j) ) ). SEP(I) is not allowed to be smaller than SLAMCH( 'E' )*ANORM in order to limit the size of the error bound. SDISNA may also be used to compute error bounds for eigenvectors of the generalized symmetric definite eigenproblem. ARGUMENTS JOB (input) Specifies for which problem the reciprocal condition numbers should be computed: = 'E': the eigenvectors of a symmetric/Hermitian matrix; = 'L': the left singular vectors of a general matrix; = 'R': the right singular vectors of a general matrix. M (input) The number of rows of the matrix. M >= 0. N (input) If JOB = 'L' or 'R', the number of columns of the matrix, in which case N >= 0. Ignored if JOB = 'E'. D (input) dimension (min(M,N)) if JOB = 'L' or 'R' 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. SEP (output) dimension (min(M,N)) if JOB = 'L' or 'R' The reciprocal con- dition numbers of the vectors. INFO (output) = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value. 7 Nov 2015 sdisna(3P)