sdisna
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(*)
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
#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);
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
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
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.
-
* JOB (input)
-
Specifies for which problem the reciprocal condition numbers
should be computed:
-
* 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 condition numbers of the vectors.
-
* INFO (output)
-