function [L,U,flag]=LU_decom(A)
[n,m]=size(A);
if n~=m
error('The rows and columns of matrix A must be equal!');
return;
end
L=eye(n);
U=zeros(n);
flag='OK';
for k=1:n
for j=k:n
z=0;
for q=1:k-1
1 / 3
z=z+L(k,q)*U(q,j);
end
U(k,j)=A(k,j)-z;
end
if abs(U(k,k))flag='failure';return;
end
for i=k+1:n
z=0;
for q=1:k-1
z=z+L(i,q)*U(q,k);
end
2 / 3
L(i,k)=(A(i,k)-z)/U(k,k);
end
end
3 / 3