DDISNA(3)      LAPACK routine of NEC Numeric Library Collection      DDISNA(3)



NAME
       DDISNA

SYNOPSIS
       SUBROUTINE DDISNA (JOB, M, N, D, SEP, INFO)



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
            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

                   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)
                     JOB is 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)
                     M is INTEGER
                     The number of rows of the matrix. M >= 0.

           N         (input)
                     N is INTEGER
                     If JOB = 'L' or 'R', the number of columns of the matrix,
                     in which case N >= 0. Ignored if JOB = 'E'.

           D         (input)
                     D is 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)
                     SEP is DOUBLE PRECISION array, dimension (M) if JOB = 'E'
                                          dimension (min(M,N)) if JOB = 'L' or 'R'
                     The reciprocal condition numbers of the vectors.

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



LAPACK routine                  31 October 2017                      DDISNA(3)