solve {base} | R Documentation |
This generic function solves the equation a %*% x = b
for x
,
where b
can be either a vector or a matrix.
solve(a, b, tol = 1e-7, ...)
a |
a numeric matrix containing the coefficients of the linear system. |
b |
a numeric vector or matrix giving the right-hand side(s) of
the linear system. If omitted, b is taken to be an identity
matrix and solve will return the inverse of a . |
tol |
the tolerance for detecting linear dependencies in the
columns of a . |
... |
further arguments passed to or from other methods |
As from R version 1.3.0, a
or b
can be complex, in
which case LAPACK routine ZESV
is used.
This uses double complex arithmetic which might not beavailable on all
platforms.
hilbert <- function(n) { i <- 1:n; 1 / outer(i - 1, i, "+") } h8 <- hilbert(8); h8 solve(h8) # gives error: `singular' sh8 <- solve(h8, tol = 1e-10) round(sh8 %*% h8, 3) A <- hilbert(4) A[] <- as.complex(A) ## might not be supported on all platforms try(solve(A))