function [QM,RM]=mgs(A) % Modified Gram-Schmidt Alg. 8.1, page 58 % % [m,n]=size(A); for i=1:n v(:,i)=A(:,i); end for i=1:n RM(i,i)=norm(v(:,i),2); QM(:,i)=v(:,i)/RM(i,i); for j=i+1:n RM(i,j)=QM(:,i)'*v(:,j); v(:,j)=v(:,j)-RM(i,j)*QM(:,i); end end