

   SSoollvvee aa SSyysstteemm ooff EEqquuaattiioonnss

        solve(a, b, tol = 1e-7)

   AArrgguummeennttss::

          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'.

   DDeessccrriippttiioonn::

        This generic function solves the equation `a %*% x = b'
        for `x', where `b' can be either a vector or a matrix.

   SSeeee AAllssoo::

        `backsolve', `qr.solve'.

   EExxaammpplleess::

        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)

