ddisna(3P) Sun Performance Library ddisna(3P)NAMEddisna - 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 DDISNA(JOB, M, N, D, SEP, INFO)
CHARACTER * 1 JOB
INTEGER M, N, INFO
DOUBLE PRECISION D(*), SEP(*)
SUBROUTINE DDISNA_64(JOB, M, N, D, SEP, INFO)
CHARACTER * 1 JOB
INTEGER*8 M, N, INFO
DOUBLE PRECISION D(*), SEP(*)
F95 INTERFACE
SUBROUTINE DISNA(JOB, M, N, D, SEP, [INFO])
CHARACTER(LEN=1) :: JOB
INTEGER :: M, N, INFO
REAL(8), DIMENSION(:) :: D, SEP
SUBROUTINE DISNA_64(JOB, M, N, D, SEP, [INFO])
CHARACTER(LEN=1) :: JOB
INTEGER(8) :: M, N, INFO
REAL(8), DIMENSION(:) :: D, SEP
C INTERFACE
#include <sunperf.h>
void ddisna(char job, int m, int n, double *d, double *sep, int *info);
void ddisna_64(char job, long m, long n, double *d, double *sep, long
*info);
PURPOSEddisna 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
DLAMCH( 'E' ) * ( ANORM / SEP( I ) )
where ANORM = 2-norm(A) = max( abs( D(j) ) ). SEP(I) is not allowed to
be smaller than DLAMCH( '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.
6 Mar 2009 ddisna(3P)