clear ; rand('seed', 1234); % Initialize uniform random number generator n = 200; % Matrix dimension A = rand(n,n); % Create random matrix xsol = rand(n,1); b = A*xsol; for k=1:n-1 for i=k+1:n A(i,k) = A(i,k)/A(k,k); A(i,k+1:n) = A(i,k+1:n) - A(i,k)*A(k,k+1:n); end end % Verifications U = triu(A); % Extract the upper triangular factor L = tril(A); % Extract lower triangular part D = diag(diag(A)); % Create diagonal matrix L = L - D + eye(n); % Construct the actual lower triangular factor %Solving the system y = L \ b; x = U \ y; norm(x - xsol)/norm(xsol)