umf_luinfo — get information on LU factors
[OK, nrow, ncol, lnz, unz, udiag_nz, it] = umf_luinfo(LU_ptr)
a pointer to umf lu factors (L,U,p,q, R)
a scalar boolean
scalars (integers)
This function may be used to know basic information about LU factors created with umf_lufact :
first OK
is %t if LU_ptr
is a valid pointer to an umfpack
LU numeric handle (and %f else)
if OK
is %t then:
are the matrix size (L is nrow x n
and U is n x ncol
where n = min(nrow,ncol)
are the number of non zeros elements in L and in U;
are the number of non zeros elements on the diagonal of U; if the matrix
is square (nrow = ncol = n)
then it is not inversible if
udiag_nz < n (more precisely it appears to be numericaly not
inversible through the LU factorization).
0 if the factors are real and 1 if they are complex.
if OK is %f then all the others outputs are set to the empty matrix [].
// this is the test matrix from UMFPACK A = sparse( [ 2 3 0 0 0; 3 0 4 0 6; 0 -1 -3 2 0; 0 0 1 0 0; 0 4 2 0 1] ); Lup = umf_lufact(A); [OK, nrow, ncol, lnz, unz, udiag_nz, it] = umf_luinfo(Lup) // OK must be %t, nrow=ncol = 5, [L,U,p,q,R] = umf_luget(Lup); nnz(L) // must be equal to lnz nnz(U) // must be equal to unz umf_ludel(Lup) // clear memory