hecon_rook#
Functions
-
void checon_rook(const char *uplo, const INT n, const c64 *restrict A, const INT lda, const INT *restrict ipiv, const f32 anorm, f32 *rcond, c64 *restrict work, INT *info)#
CHECON_ROOK estimates the reciprocal of the condition number (in the 1-norm) of a complex Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by CHETRF_ROOK.
An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
Parameters
inuploSpecifies whether the details of the factorization are stored as an upper or lower triangular matrix. = ‘U’: Upper triangular, form is A = U*D*U**H; = ‘L’: Lower triangular, form is A = L*D*L**H.
innThe order of the matrix A. n >= 0.
inAComplex*16 array, dimension (lda, n). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CHETRF_ROOK.
inldaThe leading dimension of the array A. lda >= max(1, n).
inipivInteger array, dimension (n). Details of the interchanges and the block structure of D as determined by CHETRF_ROOK.
inanormThe 1-norm of the original matrix A.
outrcondThe reciprocal of the condition number of the matrix A, computed as rcond = 1/(anorm * ainvnm), where ainvnm is an estimate of the 1-norm of inv(A) computed in this routine.
outworkComplex*16 array, dimension (2*n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
void checon_rook(
const char* uplo,
const INT n,
const c64* restrict A,
const INT lda,
const INT* restrict ipiv,
const f32 anorm,
f32* rcond,
c64* restrict work,
INT* info
);
Functions
-
void zhecon_rook(const char *uplo, const INT n, const c128 *restrict A, const INT lda, const INT *restrict ipiv, const f64 anorm, f64 *rcond, c128 *restrict work, INT *info)#
ZHECON_ROOK estimates the reciprocal of the condition number (in the 1-norm) of a complex Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by ZHETRF_ROOK.
An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
Parameters
inuploSpecifies whether the details of the factorization are stored as an upper or lower triangular matrix. = ‘U’: Upper triangular, form is A = U*D*U**H; = ‘L’: Lower triangular, form is A = L*D*L**H.
innThe order of the matrix A. n >= 0.
inAComplex*16 array, dimension (lda, n). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ZHETRF_ROOK.
inldaThe leading dimension of the array A. lda >= max(1, n).
inipivInteger array, dimension (n). Details of the interchanges and the block structure of D as determined by ZHETRF_ROOK.
inanormThe 1-norm of the original matrix A.
outrcondThe reciprocal of the condition number of the matrix A, computed as rcond = 1/(anorm * ainvnm), where ainvnm is an estimate of the 1-norm of inv(A) computed in this routine.
outworkComplex*16 array, dimension (2*n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
void zhecon_rook(
const char* uplo,
const INT n,
const c128* restrict A,
const INT lda,
const INT* restrict ipiv,
const f64 anorm,
f64* rcond,
c128* restrict work,
INT* info
);