% Musterlösung
%
% Numerische Mathematik, SS 2013
%
% LR_Zerlegung (effizient)
%
% Ingolf Busch, Juni 2013

% Input: A     quadratische Matrix


% Output: S  struct mit allen Informationen 
%         S = lr(A)
%
%         L linke untere normierte Dreiecksmatrix
%         R rechte obere Dreiecksmatrix
%         [L,R] = lr(A)


function [L,R] = my_lr_fast(A)

n=size(A,1);

for k=1:(n-1)
    A((k+1):n,k)       = A((k+1):n,k)/A(k,k);
    A((k+1):n,(k+1):n) = A((k+1):n,(k+1):n)-A((k+1):n,k)*A(k,(k+1):n);
end
L    = eye(n)+tril(A,-1);
R    = triu(A);