Scilab Function

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.