Scilab Function
Last update : 18/05/2014

lu - factorisation LU

Calling Sequence

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

Parameters

Description

[L,U]= lu(A) 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.

[L,U,E]= lu(A) 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.

Examples

    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
    

See Also

lufact,  luget,  lusolve,  qr,  svd,  

Used Function

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