Change language to:
English - 日本語 - Português

See the recommended documentation of this function

Manuel Scilab >> Interface avec UMFPACK > umf_luinfo

# umf_luinfo

get information on LU factors

### Calling Sequence

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

### Arguments

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