function [y,k]=RafIter(L,U,b,x)

%---------------------------
% Esercizio 2 del 30/11/2005
% Raffinamento iterativo
%---------------------------

tol=1.e-11;

A=L*U;

k=1;

r=b-A*x;
% Risolvo il sistema Ad=r, sapendo che A=LU
z=L\r;
d=U\z;
y=x+d;

while (norm(d)/norm(y)> tol & k<=100)
     x=y;
     r=b-A*x;
% Risolvo il sistema Ad=r, sapendo che A=LU
    z=L\r;
    d=U\z;
    y=x+d;
    k=k+1;
end


