ddisna


NAME

ddisna - 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);


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

       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 eigenvectors of the generalized symmetric definite eigenproblem.


ARGUMENTS

* JOB (input)
Specifies for which problem the reciprocal condition numbers should be computed:

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