1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
---
:name: ddisna
:md5sum: ea986ef961f5fb1f30ce6fd9d42e776f
:category: :subroutine
:arguments:
- job:
:type: char
:intent: input
- m:
:type: integer
:intent: input
- n:
:type: integer
:intent: input
- d:
:type: doublereal
:intent: input
:dims:
- m
- sep:
:type: doublereal
:intent: output
:dims:
- "lsame_(&job,\"E\") ? m : ((lsame_(&job,\"L\")) || (lsame_(&job,\"R\"))) ? MIN(m,n) : 0"
- info:
:type: integer
:intent: output
:substitutions: {}
:fortran_help: " SUBROUTINE DDISNA( JOB, M, N, D, SEP, INFO )\n\n\
* Purpose\n\
* =======\n\
*\n\
* DDISNA computes the reciprocal condition numbers for the eigenvectors\n\
* of a real symmetric or complex Hermitian matrix or for the left or\n\
* right singular vectors of a general m-by-n matrix. The reciprocal\n\
* condition number is the 'gap' between the corresponding eigenvalue or\n\
* singular value and the nearest other one.\n\
*\n\
* The bound on the error, measured by angle in radians, in the I-th\n\
* computed vector is given by\n\
*\n\
* DLAMCH( 'E' ) * ( ANORM / SEP( I ) )\n\
*\n\
* where ANORM = 2-norm(A) = max( abs( D(j) ) ). SEP(I) is not allowed\n\
* to be smaller than DLAMCH( 'E' )*ANORM in order to limit the size of\n\
* the error bound.\n\
*\n\
* DDISNA may also be used to compute error bounds for eigenvectors of\n\
* the generalized symmetric definite eigenproblem.\n\
*\n\n\
* Arguments\n\
* =========\n\
*\n\
* JOB (input) CHARACTER*1\n\
* Specifies for which problem the reciprocal condition numbers\n\
* should be computed:\n\
* = 'E': the eigenvectors of a symmetric/Hermitian matrix;\n\
* = 'L': the left singular vectors of a general matrix;\n\
* = 'R': the right singular vectors of a general matrix.\n\
*\n\
* M (input) INTEGER\n\
* The number of rows of the matrix. M >= 0.\n\
*\n\
* N (input) INTEGER\n\
* If JOB = 'L' or 'R', the number of columns of the matrix,\n\
* in which case N >= 0. Ignored if JOB = 'E'.\n\
*\n\
* D (input) DOUBLE PRECISION array, dimension (M) if JOB = 'E'\n\
* dimension (min(M,N)) if JOB = 'L' or 'R'\n\
* The eigenvalues (if JOB = 'E') or singular values (if JOB =\n\
* 'L' or 'R') of the matrix, in either increasing or decreasing\n\
* order. If singular values, they must be non-negative.\n\
*\n\
* SEP (output) DOUBLE PRECISION array, dimension (M) if JOB = 'E'\n\
* dimension (min(M,N)) if JOB = 'L' or 'R'\n\
* The reciprocal condition numbers of the vectors.\n\
*\n\
* INFO (output) INTEGER\n\
* = 0: successful exit.\n\
* < 0: if INFO = -i, the i-th argument had an illegal value.\n\
*\n\n\
* =====================================================================\n\
*\n"
|