Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

sdisna (3p)

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*1 JOB
INTEGER M, N, INFO
REAL D(*), SEP(*)

SUBROUTINE SDISNA_64(JOB, M, N, D, SEP, INFO)

CHARACTER*1 JOB
INTEGER*8 M, N, INFO
REAL D(*), SEP(*)




F95 INTERFACE
SUBROUTINE DISNA(JOB, M, N, D, SEP, INFO)

CHARACTER(LEN=1) :: JOB
INTEGER :: M, N, INFO
REAL, DIMENSION(:) :: D, SEP

SUBROUTINE DISNA_64(JOB, M, N, D, SEP, INFO)

CHARACTER(LEN=1) :: JOB
INTEGER(8) :: M, N, INFO
REAL, DIMENSION(:) :: D, SEP




C INTERFACE
#include <sunperf.h>

void sdisna(char job, int m, int n, float *d, float *sep, int *info);

void  sdisna_64(char  job,  long  m, long n, float *d, float *sep, long
*info);

Description

Oracle Solaris Studio Performance Library                           sdisna(3P)



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*1 JOB
       INTEGER M, N, INFO
       REAL D(*), SEP(*)

       SUBROUTINE SDISNA_64(JOB, M, N, D, SEP, INFO)

       CHARACTER*1 JOB
       INTEGER*8 M, N, INFO
       REAL D(*), SEP(*)




   F95 INTERFACE
       SUBROUTINE DISNA(JOB, M, N, D, SEP, INFO)

       CHARACTER(LEN=1) :: JOB
       INTEGER :: M, N, INFO
       REAL, DIMENSION(:) :: D, SEP

       SUBROUTINE DISNA_64(JOB, M, N, D, SEP, INFO)

       CHARACTER(LEN=1) :: JOB
       INTEGER(8) :: M, N, INFO
       REAL, DIMENSION(:) :: D, SEP




   C INTERFACE
       #include <sunperf.h>

       void sdisna(char job, int m, int n, float *d, float *sep, int *info);

       void  sdisna_64(char  job,  long  m, long n, float *d, float *sep, long
                 *info);



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

              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:
                 = '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.




                                  7 Nov 2015                        sdisna(3P)