gginv(tol = sqrt(.Machine$double.eps), svd = base::svd)
X
that computes a MP
generalized inverse matrix for it.
The gginv
function creates a function that
calculates the Moore-Penrose generalized inverse of a matrix X using a
fixed tolerance value and a custom
implementation for computing the singular value decomposition.
The svd
argument is expected to adhere to the interface of
base::svd
. It will be called as svd(x)
(with the
nu
and nv
arguments unset) and is expected to return a named
list with components d
, u
and v
.