Learn R Programming

distr (version 2.9.5)

solve-methods: Methods for Function solve in Package `distr'

Description

solve-methods using generalized inverses for various types of matrices

Usage

solve(a,b, ...)
# S4 method for ANY,ANY
solve(a, b, generalized = 
getdistrOption("use.generalized.inverse.by.default"), tol = 1e-10)
# S4 method for PosSemDefSymmMatrix,ANY
solve(a, b, generalized =
getdistrOption("use.generalized.inverse.by.default"), tol = 1e-10)
# S4 method for PosDefSymmMatrix,ANY
solve(a, b, tol = 1e-10)

Arguments

a

matrix to be inverted / to be solved for RHS.

b

a numeric or complex vector or matrix giving the right-hand side(s) of the linear system. If missing, b is taken to be an identity matrix and solve will return the inverse of a.

...

further arguments to be passed to specific methods (see solve).

generalized

logical: should generalized / Moore-Penrose inverses be used? By default uses the corresponding global option to be set by distroptions.

tol

the tolerance for detecting linear dependencies in the columns of a. Default is .Machine$double.eps.

Methods

solve

signature(a = "ANY", b = "ANY"): tries to evaluate solve.default method from base in classical way; if this gives an error, this one is returned if generalized is TRUE, else it will then return \(a^-b\) where \(a^-\) is the pseudo or Moore-Penrose inverse of \(a\).

solve

signature(a = "PosSemDefSymmMatrix", b = "ANY"): evaluates \(a^-b\) where \(a^-\) is the pseudo or Moore-Penrose inverse of \(a\).

solve

signature(a = "PosDefSymmMatrix", b = "ANY"): evaluates solve method from base in classical way.

Author

Peter Ruckdeschel peter.ruckdeschel@uni-oldenburg.de

Details

The method for the Moore-Penrose inverse for signature(a = "PosSemDefSymmMatrix", b = "ANY") uses eigen to find the eigenvalue decomposition of a and then simply "pseudo-inverts" the corresponding diagonal matrix built from eigen(a)$values, while for signature(a = "ANY", b = "ANY") it uses the svd decomposition of a and then simply "pseudo-inverts" the corresponding diagonal matrix built from svd(a)$d.

See Also

solve for the default method, eigen and svd for the pseudo inversion