Contents
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);
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 eigen-
vectors of the generalized symmetric definite eigenproblem.
JOB (input)
Specifies for which problem the reciprocal condi-
tion 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 condition numbers of the vectors.
INFO (output)
= 0: successful exit.
< 0: if INFO = -i, the i-th argument had an
illegal value.