sdisna(3)
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 JOB
INTEGER INFO, M, N
REAL D( * ), SEP( * )
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 ma
- trix. 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.
ARGUMENTS
- JOB (input) CHARACTER*1
- 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 ma
- trix;
= 'R': the right singular vectors of a general
- matrix.
- M (input) INTEGER
- The number of rows of the matrix. M >= 0.
- N (input) INTEGER
- If JOB = 'L' or 'R', the number of columns of the
- matrix, in which case N >= 0. Ignored if JOB = 'E'.
- D (input) REAL array, dimension (M) if JOB = 'E'
- dimension (min(M,N)) if JOB = 'L' or 'R' The
- eigenvalues (if JOB = 'E') or singular values (if JOB = order. If
- singular values, they must be non-negative.
- SEP (output) REAL array, dimension (M) if JOB = 'E'
- dimension (min(M,N)) if JOB = 'L' or 'R' The re
- ciprocal condition numbers of the vectors.
- INFO (output) INTEGER
- = 0: successful exit.
< 0: if INFO = -i, the i-th argument had an ille
- gal value.
- LAPACK version 3.0 15 June 2000