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.
## Default S3 method:
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, |
tol |
the tolerance for detecting linear dependencies in the
columns of |
... |
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.
backsolve
, qr.solve
.
hilbert <- function(n) { i <- 1:n; 1 / outer(i - 1, i, "+") }
h8 <- hilbert(8); h8
## Not run: 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))