function [A,R] = mgs(A)
[m,n]=size(A);
if m<n
    error('Il numero di colonne deve essere minore o uguale al numero di righe')
end
R=zeros(n);
for i = 1:n
    fprintf('normalizzo il vettore %d\n',i)
    R(i,i)=norm(A(:,i))
    if abs(R(i,i))<1e-15
        error('Le colonne di A non sono linearmente indipendenti')
    end
    A(:,i)=A(:,i)/R(i,i)
    pause
    for j=i+1:n
        fprintf('ortogonalizzo il vettore %d rispetto alla direzione del vettore %d,\n',j,i)
        R(i,j)=A(:,i)'*A(:,j)
        A(:,j)=A(:,j)-R(i,j)*A(:,i)
        pause
    end
end
