Learn R Programming

lintools (version 0.1.7)

pinv: Moore-Penrose pseudoinverse

Description

Compute the pseudoinverse of a matrix using the SVD-construction

Usage

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

Run this code
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

Run the code above in your browser using DataLab