
58 Appendix A2 Exported Function Summary
int ILUPdec(MATRIX mA, int cA, int *piPiv, double *pdLogDet,
int *piSignDet, MATRIX mUt);
mA[cA][cA] in: ptr to matrix to be decomposed
out: the strict lower diagonal of A contains the L ma-
trix (except for the 1’s on the diagonal) the upper
diagonal contains U.
piPiv[cA] out: the pivot information
pdLogDet out: the logarithm of the absolute value of the deter-
minant of A
piSignDet out: the sign of the determinant of A; 0: singular;
−1, −2: negative determinant; +1, +2: positive
determinant; −2, +2: result is unreliable
mUt[cA][cA] in: NULL or matrix
out: used as workspace
Return value
0 no error;
−1 out of memory;
≥ 1 the matrix is (numerically) singular;
the return value is one plus the singular pivot.
Description
Computes the LU decomposition of a matrix A as: PA = LU.
ILUPlogdet
int ILUPlogdet(MATRIX mU, int cA, int *piPiv, double dNormEps,
double *pdLogDet);
mU[cA][cA] in: LU matrix, only diagonal elements are used
piPiv[cA] in: the pivot information (NULL: no pivoting)
dNormEps in: norm(A)*eps, use result from DGetInvertEp-
sNorm on original matrix A
pdLogDet out: the logarithm of the absolute value of the deter-
minant of A
Return value
Returns the sign of the determinant of A = LUP ; 0: singular; −1, −2:negative
determinant; +1, +2: positive determinant; −2, +2: result is unreliable.
Description
Computes the log-determinant from the LU decomposition of a matrix A.
IMatRank
int IMatRank(MATRIX mA, int cM, int cN, double dEps,
bool bAbsolute);
Komentarze do niniejszej Instrukcji