% Musterlösung
%
% Numerische Mathematik, SS 2013
%
% LR_Zerlegung (spaltenorientiert)
%
% 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_lr2(A)

n=size(A,1);

for k=1:(n-1)
    A((k+1):n,k)=A((k+1):n,k)/A(k,k);
    for j=(k+1):n
        A((k+1):n,j)=A((k+1):n,j)-A((k+1):n,k)*A(k,j);
    end;
end;

if(nargout==1)
    L.mode = 'spalte';
    L.L    = eye(n)+tril(A,-1);
    L.R    = triu(A);
else
    L    = eye(n)+tril(A,-1);
    R    = triu(A);
end