Moore-Penrose pseudoinverse of a squared matrix
For a matrix A its Moore-Penrose pseudoinverse is such a matrix A[+] which satisfies
(i) A*A[+]*A = A, |
(ii) A[+]*A*A[+] = A[+], |
(iii) (A*A[+])' = A*A[+], |
(iv) (A[+]*A)' = A[+]*A. |
Computation is done using spectral decomposition. At this moment, it is implemented for symmetric matrices only.
MatMPpinv(A)
A |
either a numeric vector in which case inverse of each element of A is returned or a squared matrix. |
Either a numeric vector or a matrix.
Arnošt Komárek arnost.komarek[AT]mff.cuni.cz
Golub, G. H. and Van Loan, C. F. (1996, Sec. 5.5). Matrix Computations. Third Edition. Baltimore: The Johns Hopkins University Press.
set.seed(770328) A <- rWISHART(1, 5, diag(4)) Ainv <- MatMPpinv(A) ### Check the conditions prec <- 13 round(A - A %*% Ainv %*% A, prec) round(Ainv - Ainv %*% A %*% Ainv, prec) round(A %*% Ainv - t(A %*% Ainv), prec) round(Ainv %*% A - t(Ainv %*% A), prec)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.