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