Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Scilab 6.0.1
Change language to: Français - Português - 日本語 - Русский

See the recommended documentation of this function

# luget

extraction of sparse LU factors

### Syntax

`[P,L,U,Q]=luget(hand)`

### Arguments

hand

handle, output of `lufact`

P

sparse permutation matrix

L

sparse matrix, lower triangular if `hand` is obtained from a non singular matrix

U

square non singular upper triangular sparse matrix with ones along the main diagonal

Q

sparse permutation matrix

### Description

`[P,L,U,Q]=luget(hand)` with `hand` obtained by the command `[hand,rk]=lufact(A)` with `A` a sparse matrix returns four sparse matrices such that `P*L*U*Q=A`.

The A matrix needs not be full rank but must be square (since A is assumed sparse one may add zeros if necessary to squaring down A).

If `A` is singular, the `L` matrix is column compressed (with `rk` independent nonzero columns): the nonsingular sparse matrix `Q'*inv(U)` column compresses `A`.

### Examples

```a=rand(5,2)*rand(2,5);A=sparse(a);
[hand,rk]=lufact(A);[P,L,U,Q]=luget(hand);
full(L), P*L*U*Q-A
clean(P*L*U*Q-A)
ludel(hand)```

• sparse — sparse matrix definition
• lusolve — sparse linear system solver
• luget — extraction of sparse LU factors
• clean — cleans matrices (round to zero small entries)