R: Methods for Function solve in Package 'distr'

solve-methods {distr} | R Documentation

## 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 signature 'ANY,ANY'
    solve(a, b, generalized =
    getdistrOption("use.generalized.inverse.by.default"), tol = 1e-10)
    ## S4 method for signature 'PosSemDefSymmMatrix,ANY'
    solve(a, b, generalized =
    getdistrOption("use.generalized.inverse.by.default"), tol = 1e-10)
    ## S4 method for signature '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`.

### 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`.

### 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(s)

Peter Ruckdeschel peter.ruckdeschel@uni-oldenburg.de

### See Also

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

[Package distr version 2.8.0 Index]