SingularValues[m] gives the singular value decomposition for a numerical matrix m. The result is a list u, w, v, where w is the list of singular values, and m can be written as Conjugate[Transpose[u]].DiagonalMatrix[w].v.
SingularValues[m, Tolerance -> t] specifies that singular values smaller than t times the maximum singular value are to be removed.
The default setting Tolerance -> Automatic typically takes t to be where is the numerical precision of the input.
With Tolerance->0 singular values which are exactly zero can be returned.
u and v are row orthonormal matrices, which can be considered as lists of orthonormal vectors.
The ratio of the largest to smallest singular value gives the condition number of m.
See The Mathematica Book: Section 3.7.10.
Implementation Notes: see section A.9.4.
See also: PseudoInverse, QRDecomposition, SchurDecomposition, LUDecomposition.
Related packages: LinearAlgebra`Cholesky`, Statistics`LinearRegression`.