This is documentation for Mathematica 3, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)
 Documentation / Mathematica / Built-in Functions / Lists and Matrices / Matrix Operations  /
SingularValues

  • 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.
  • See also Implementation NotesA.9.44.27MainBookLinkOldButtonDataA.9.44.27.
  • See also: PseudoInverse, QRDecomposition, SchurDecomposition, LUDecomposition.
  • Related packages: LinearAlgebra`Cholesky`, Statistics`LinearRegression`.

    Further Examples

    This is the singular value decomposition of a non-singular x inexact matrix.

    In[1]:=

    Out[1]=

    This checks the result.

    In[2]:=

    Out[2]//MatrixForm=

    This is the singular value decomposition of a singular matrix. Only one singular value is given.

    In[3]:=

    Out[3]=