luget - extraction de facteurs LU creux
[P,L,U,Q]=luget(hand) avec hand obtenue avec la commande [hand,rk]=lufact(A) avec A une matrice creuse, renvoie quatre matrices P,L,U,Q telles que P*L*U*Q=A .
La matrice A n'est pas obligatoirement de rang plein mais doit être carrée (puisque A est supposée creuse on peut lui ajouter des lignes ou des colonnes nulles pour la rendre carrée).
Si A est singulière, la matrice L est à colonnes compressées (avec rk colonnes indépendantes non nulles) : la matrice creuse régulière Q'*inv(U) compresse les colonnes de A .
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)