sva - singular value approximation
Singular value approximation.
with k an integer >=1, returns U,S and V such that B=U*S*V' is the best L2 approximation of A with rank(B)=k.
with tol a real number, returns U,S and V such that B=U*S*V' such that L2-norm of A-B is at most tol.
A=rand(5,4)*rand(4,5); [U,s,V]=sva(A,2); B=U*s*V'; svd(A) svd(B) clean(svd(A-B))