

function [  ] = jacobi (vectorini,nmax,delta,tole)

format long

A=matrizA;
[m,n]=size(A);

if m=n 

if det(A)~=0

for i=1:n
    D(i,i)=A(i,i);
endfor

for j=1:n-1
    for i=j+1:n
        L(i,j)=-A(i,j);
    endfor 
endfor
L(n,n)=0;

for i=1:n-1
    for j=i+1:n
        U(i,j)=-A(i,j);
    endfor 
endfor
U(n,n)=0;


T=D^-1*(L+U);
C=D^-1*vectorb;

valores=eig(T)
radio=max(abs(eig(T)))

if radio<1

i=0;
fx=delta+1;
error=tole+1;

while i<nmax & fx>delta & error>tole
    i=i+1;
	X=T*vectorini+C;
    fx=norm(A*X-vectorb);
    error=norm(X-vectorini);
    vectorini=X;
endwhile

i
X
error

else
	disp('el radio es mayor a 1, por lo tanto diverge')
end
else
	disp('el sistema no es cuadrado y no tiene unica solucion')
	end

	else
		disp('el sistema no es cuadrado y no tiene unica solucion')
	end

endfunction
