Name

umf_luinfo — get information on LU factors

Calling Sequence

[OK, nrow, ncol, lnz, unz, udiag_nz, it] = umf_luinfo(LU_ptr)

Parameters

LU_ptr

a pointer to umf lu factors (L,U,p,q, R)

OK

a scalar boolean

nrow, ncol, lnz, unz, udiag_nz, it

scalars (integers)

Description

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:

nrow, ncol

are the matrix size (L is nrow x n and U is n x ncol where n = min(nrow,ncol)

lnz, unz

are the number of non zeros elements in L and in U;

udiag_nz

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).

it

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 [].

Examples

 
// 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
 

See Also

umfpack , umf_lufact , umf_lusolve , umf_ludel , umf_luget

Authors

umfpack by Timothy A. Davis (see umf_license)
scilab interface by Bruno Pincon