
Ginv
returns an arbitrary generalized inverse of the matrix A
, using gaussianElimination
.
Ginv(A, tol = sqrt(.Machine$double.eps), verbose = FALSE,
fractions = FALSE)
numerical matrix
tolerance for checking for 0 pivot
logical; if TRUE
, print intermediate steps
logical; if TRUE
, try to express non-integers as rational numbers
the generalized inverse of A
, expressed as fractions if fractions=TRUE
, or rounded
A generalized inverse is a matrix
The purpose of this function is mainly to show how the generalized inverse can be computed using Gaussian elimination.
ginv
for a more generally usable function
# NOT RUN {
A <- matrix(c(1,2,3,4,5,6,7,8,10), 3, 3) # a nonsingular matrix
A
Ginv(A, fractions=TRUE) # a generalized inverse of A = inverse of A
round(Ginv(A) %*% A, 6) # check
B <- matrix(1:9, 3, 3) # a singular matrix
B
Ginv(B, fractions=TRUE) # a generalized inverse of B
B %*% Ginv(B) %*% B # check
# }
Run the code above in your browser using DataLab