Since Version 5.0 (released in 2003), SingularValues has been superseded by SingularValueList and SingularValueDecomposition.


gives the singular value decomposition for a numerical matrix . The result is a list , where is the list of singular values, and can be written as Conjugate[Transpose[u]]. DiagonalMatrix[w].v.

Details and Options

  • 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 to be where is the numerical precision of the input.
  • With Tolerance->0 singular values which are exactly zero can be returned.
  • and 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 .
Introduced in 1988