Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Moore-Penrose pseudoinverse

`B = pinv(A)`

`B = pinv(A,tol)`

`B = pinv(`

returns the Moore-Penrose Pseudoinverse of matrix
`A`

)`A`

.

You can replace most uses of

`pinv`

applied to a vector`b`

, as in`pinv(A)*b`

, with`lsqminnorm(A,b)`

to get the minimum-norm least-squares solution of a system of linear equations.`lsqminnorm`

is generally more efficient than`pinv`

, and it also supports sparse matrices.

`pinv`

uses the singular value decomposition to form the
pseudoinverse of `A`

. Singular values along the diagonal of
`S`

that are smaller than `tol`

are treated as
zeros, and the representation of `A`

becomes:

$$\begin{array}{l}A=US{V}^{*}=\left[{U}_{1}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{U}_{2}\right]\left[\begin{array}{cc}{S}_{1}& 0\\ 0& 0\end{array}\right]{\left[{V}_{1}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{V}_{2}\right]}^{*}\\ A={U}_{1}{S}_{1}{V}_{1}^{*}\text{\hspace{0.17em}}.\end{array}$$

The pseudoinverse of `A`

is then equal to:

$$B={V}_{1}{S}_{1}^{-1}{U}_{1}^{*}\text{\hspace{0.17em}}.$$

`decomposition`

| `inv`

| `lsqminnorm`

| `qr`

| `rank`

| `svd`

Was this topic helpful?