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
inuplo'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.inASingle complex array of dimension
(lda,n). The block diagonal matrix D and the multipliers used to obtain U or L, as computed bychetrf_rook.inldaThe leading dimension of A.
lda>=max(1,n).inipivInteger array of dimension
n. Details of the interchanges and block structure of D determined bychetrf_rook.inanormThe 1-norm of the original matrix A.
outrcondThe reciprocal condition number, computed as
rcond=1/(anorm*ainvnm), whereainvnmestimates the 1-norm ofinv(A).outworkSingle complex workspace of dimension
2*n.outinfoinfo=0: successful exitinfo<0: ifinfo=-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
inuplo'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.inADouble complex array of dimension
(lda,n). The block diagonal matrix D and the multipliers used to obtain U or L, as computed byzhetrf_rook.inldaThe leading dimension of A.
lda>=max(1,n).inipivInteger array of dimension
n. Details of the interchanges and block structure of D determined byzhetrf_rook.inanormThe 1-norm of the original matrix A.
outrcondThe reciprocal condition number, computed as
rcond=1/(anorm*ainvnm), whereainvnmestimates the 1-norm ofinv(A).outworkDouble complex workspace of dimension
2*n.outinfoinfo=0: successful exitinfo<0: ifinfo=-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
);