DDISNA(3)                  MathKeisan LAPACK routine                 DDISNA(3)



NAME
       DDISNA  -  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      JOB

           INTEGER        INFO, M, N

           DOUBLE         PRECISION D( * ), SEP( * )

PURPOSE
       DDISNA  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.

       DDISNA may also be used to compute error bounds for eigenvectors of the
       generalized symmetric definite eigenproblem.


ARGUMENTS
       JOB     (input) CHARACTER*1
               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) 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) DOUBLE PRECISION 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 =  'L'  or  'R')  of  the
               matrix,  in  either increasing or decreasing order. If singular
               values, they must be non-negative.

       SEP     (output) DOUBLE PRECISION array, dimension (M) if JOB = 'E'
               dimension (min(M,N)) if JOB = 'L' or 'R' The reciprocal  condi-
               tion numbers of the vectors.

       INFO    (output) INTEGER
               = 0:  successful exit.
               < 0:  if INFO = -i, the i-th argument had an illegal value.



 LAPACK routine (version 3.1)    November 2006                       DDISNA(3)