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

  • PseudoInverse[ m ] finds the pseudoinverse of a rectangular matrix.
  • PseudoInverse works on both symbolic and numerical matrices.
  • For numerical matrices, PseudoInverse[ 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.
  • For non-singular square matrices , the pseudoinverse is equivalent to the standard inverse.
  • See the Mathematica book: Section 3.7.10.
  • See also: Inverse, SingularValues, Fit.
  • Related package: LinearAlgebra`Cholesky`.

    Further Examples

    The pseudoinverse of a matrix m, usually denoted by , has the property that the sum of the squares of the entries of is minimized, where is an identity matrix of the appropriate size.

    In[1]:=

    Out[1]//MatrixForm=

    In[2]:=

    Out[2]=

    In[3]:=

    For invertible matrices, the pseudoinverse is the same as the inverse.

    In[4]:=

    Out[4]=

    You can compute the pseudoinverse of a non-square matrix.

    In[5]:=

    Out[5]//MatrixForm=

    In[6]:=

    Out[6]//MatrixForm=

    Here is another pseudoinverse.

    In[7]:=

    Out[7]//MatrixForm=

    Here is another pseudoinverse. We use use Chop to get rid of the fuzz.

    In[8]:=

    Out[8]//MatrixForm=

    We use use Chop to get rid of the fuzz.

    In[9]:=

    Out[9]//MatrixForm=