svd - singular value decomposition
[U,S,V] = svd(X) produces a diagonal matrix S , of the same dimension as X and with nonnegative diagonal elements in decreasing order, and unitary matrices U and V so that X = U*S*V' .
[U,S,V] = svd(X,0) produces the "economy size" decomposition. If X is m-by-n with m > n, then only the first n columns of U are computed and S is n-by-n.
s = svd(X) by itself, returns a vector s containing the singular values.
[U,S,V,rk]=svd(X,tol) gives in addition rk , the numerical rank of X i.e. the number of singular values larger than tol .
The default value of tol is the same as in rank .
X=rand(4,2)*rand(2,4) svd(X) sqrt(spec(X*X'))
rank , qr , colcomp , rowcomp , sva , spec ,
svd decompositions are based on the Lapack routines DGESVD for real matrices and ZGESVD for the complex case.