XLPack 6.1
C/C++ API Reference Manual (Basic module)
Loading...
Searching...
No Matches

◆ _dgecon()

void _dgecon ( char  norm,
int  n,
int  lda,
double  a[],
double  anorm,
double *  rcond,
double  work[],
int  iwork[],
int *  info 
)

Condition number of a general matrix

Purpose
This routine estimates the reciprocal of the condition number of a general real matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by dgetrf, dgesv or dgesvx.

An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as
rcond = 1 / (norm(A) * norm(inv(A)))
Parameters
[in]normSpecifies whether the 1-norm condition number or the infinity-norm condition number is required.
= '1' or 'O': 1-norm.
= 'I': Infinity-norm.
[in]nOrder of the matrix A. (n >= 0) (If n = 0, returns rcond = 1)
[in]ldaLeading dimension of the two dimensional array a[][]. (lda >= max(1, n))
[in]a[][]Array a[la][lda] (la >= n)
Factors L and U from the factorization A = P*L*U as computed by dgetrf, dgesv or dgesvx.
[in]anormnorm = '1' or 'O': The 1-norm of the original matrix A. (anorm >= 0)
norm = 'I': The infinity-norm of the original matrix A. (anorm >= 0)
[out]rcondThe reciprocal of the condition number of the matrix A, computed as rcond = 1/(norm(A) * norm(inv(A))).
[out]work[]Array work[lwork] (lwork >= 4*n)
Work array.
[out]iwork[]Array iwork[liwork] (liwork >= n)
Work array.
[out]info= 0: Successful exit
= -1: The argument norm had an illegal value (norm != '1', 'O' nor 'I')
= -2: The argument n had an illegal value (n < 0)
= -3: The argument lda had an illegal value (lda < max(1, n))
= -5: The argument anorm had an illegal value (anorm < 0)
Reference
LAPACK