function rezultat = jacobi(A,b,x0,tol,nrIt)
%
verificare=1;
n=size(A);
X=zeros(n,1)
Xprim=zeros(n,1);
for i = 1:n
    s=0;
    for j = 1:n
        s=s+A(i,j)
    end
    if s-A(i,i)>A(i,i)
        verificare=0;
    end
end
D=zeros(n,n);
E=zeros(n,n);
F=zeros(n,n);
D=diag(diag(A));
E=-(tril(A)-D);
F=-(triu(A)-D);
G=zeros(3,3);
G=diag(diag(A).^(-1))*(E+F);
if verificare=0
    if norm(G)<1
        verificare=1;
    end
end
X=x0;
if verificare =1
    for i=1:nrIt
        Xprim=X;
        X=G*X+diag(diag(A).^(-1))*b;
        if(norm(X-Xprim)<tol)
            break
        end
    end
end
rezultat=X
