Scilab Function

lu - factorisation LU

### Sequence d'appel

  `[L,U]= lu(A)`
  `[L,U,E]= lu(A)`

### Parametres

- `A` : matrice carrée réelle ou complexe (m x n).
- `L,U` : matrices carrées réelles ou complexes (n x n).
- `E` : une matrice de permutation.

### Description

calcule deux matrices `L` et `U` telles que `A = L*U` avec `U` triangulaire supérieure et `L` triangulaire inférieure à une permutation des lignes près.

Si `A` est de rang `k`, les lignes `k+1` à `n` de `U` sont nulles.

calcule trois matrices `L`, `U` et `E` telles que `E*A = L*U` avec `U` triangulaire supérieure, `L` triangulaire inférieure et `E` une matrice de permutation.

Si `A` est une matrice réelle, il est possible en utilisant `lufact` et `luget` d'obtenir les matrices de permutations et quand `A` n'est pas inversible la compression des colonnes de la matrice `L`.

### Exemples

    a=rand(4,4);
    [l,u]=lu(a)
    norm(l*u-a)

    [h,rk]=lufact(sparse(a))  // lufact fonctionne avec des matrices creuses
    [P,L,U,Q]=luget(h);
    ludel(h)
    P=full(P);L=full(L);U=full(U);Q=full(Q);
    norm(P*L*U*Q-a) // P,Q sont des matrices de permutation

### Voir aussi

`lufact` `luget` `lusolve` `qr` `svd`

### Fonctions utilisees

La décomposition LU est basée sur les routines Lapack DGETRF pour les matrices réelles et ZGETRF pour le cas complexe.