Learn R Programming

multiway (version 1.0-2)

mpinv: Moore-Penrose Pseudoinverse

Description

Calculates the Moore-Penrose pseudoinverse of the input matrix using a truncated singular value decomposition.

Usage

mpinv(X, tol=.Machine$double.eps)

Arguments

X
Real-valued matrix.
tol
Stability tolerance for singular values.

Value

Returns pseudoinverse of X.

References

Moore, E.H. (1920). On the reciprocal of the general algebraic matrix. Bulletin of the American Mathematical Society 26, 394-395.

Penrose, R. (1950). A generalized inverse for matrices. Mathematical Proceedings of the Cambridge Philosophical Society 51, 406-413.

Examples

Run this code
##########   EXAMPLE   ##########

set.seed(1)
X <- matrix(rnorm(2000),100,20)
Xi <- mpinv(X)
sum( ( X - X %*% Xi %*% X )^2 )
sum( ( Xi - Xi %*% X %*% Xi )^2 )
isSymmetric(X %*% Xi)
isSymmetric(Xi %*% X)

Run the code above in your browser using DataLab