Moore-Penrose pseudoinverse

Description

Compute the pseudoinverse of a matrix using the SVD-construction

Usage

1
pinv(A, eps = 1e-08)

Arguments

A

[numeric] matrix

eps

[numeric] tolerance for determining zero singular values

Details

The Moore-Penrose pseudoinverse (sometimes called the generalized inverse) \boldsymbol{A}^+ of a matrix \boldsymbol{A} has the property that \boldsymbol{A}^+\boldsymbol{AA}^+ = \boldsymbol{A}. It can be constructed as follows.

  • Compute the singular value decomposition \boldsymbol{A} = \boldsymbol{UDV}^T

  • Replace diagonal elements in \boldsymbol{D} of which the absolute values are larger than some limit eps with their reciprocal values

  • Compute \boldsymbol{A}^+ = \boldsymbol{UDV}^T

References

S Lipshutz and M Lipson (2009) Linear Algebra. In: Schuam's outlines. McGraw-Hill

Examples

1
2
3
4
5
6
7
A <- matrix(c(
 1,  1, -1,  2,
 2,  2, -1,  3,
 -1, -1,  2, -3
),byrow=TRUE,nrow=3)
# multiply by 55 to retrieve whole numbers
pinv(A) * 55