function [U,S,V] = redSVD(A)
%Call : [U,S,V] = redSVD(A)
%Input: A - mxn, m>=n assumed dim Null(A) = 0
%Output: U - mxn, orthonormal columns
%        S - nxn, diagonal, real positive entries
%        V - nxn, unitary
%        s.t.   A = U*S*V'

[~,n] = size(A);

As = A'*A;

% Form right singular vectors
[V,D] = eig(As);

% Form singular values
S = sqrt(D);

% Form left singular vectors
U = A*V/S;

end

