function L=Cholesky_rec(A);
[n m]=size(A);
if n~=m
    error('Nu este patratica');
end
L=zeros(n);
if n==1
    L=sqrt(A);
else
    L(1:1:n/2,1:1:n/2)=Cholesky_rec(A(1:1:n/2,1:1:n/2))
    L((n/2)+1:1:n,1:n/2)=A((n/2)+1:1:n,1:n/2)*inv(L(1:1:n/2,1:1:n/2)')
    L((n/2)+1:1:n,(n/2)+1:1:n)=Cholesky_rec(A((n/2)+1:1:n,(n/2)+1:1:n)-L((n/2)+1:1:n,1:n/2)*L((n/2)+1:1:n,1:n/2)')
end
      