R: Generalised inverse solution of Ax = B

Solve {limSolve} | R Documentation

## Generalised inverse solution of Ax = B

### Description

Generalised inverse solution of

Ax=B

### Usage

    Solve (A, B = diag(nrow = nrow(A)), tol = sqrt(.Machine$double.eps))

### Arguments

`A` | numeric matrix containing the coefficients of the equations Ax=B.
`B` | numeric matrix containing the right-hand sides of the equations; the default is the unity matrix, in which case the function will return the Moore-Penrose generalized inverse of matrix A.
`tol` | tolerance for selecting singular values.

### Value

a vector with the generalised inverse solution.

### Note

`Solve` uses the Moore-Penrose generalized inverse of matrix `A` (function `ginv` from package MASS).

`solve`, the R default requires a square, positive definite A. `Solve` does not have this restriction.

### Author(s)

Karline Soetaert <karline.soetaert@nioz.nl>

### References

package `MASS`:

Venables, W. N. & Ripley, B. D. (2002) Modern Applied Statistics with S. Fourth Edition. Springer, New York. ISBN 0-387-95457-0

### See Also

`ginv` to estimate the Moore-Penrose generalized inverse of a matrix, in package `MASS`,

`solve` the R default

### Examples

    A <- matrix(nrow = 4, ncol = 3, data = c(1:8, 6, 8, 10, 12)) # col3 = col1+col2
    B <- 0:3
    X <- Solve(A, B)            # generalised inverse solution
    A %*% X - B                 # should be zero (except for roundoff)
    (gA <- Solve(A))           # generalised inverse of A

[Package limSolve version 1.5.6 Index]