# Solve

##### Solve and Display Solutions for Systems of Linear Simultaneous Equations

Solve the equation system \(Ax = b\), given the coefficient matrix
\(A\) and right-hand side vector \(b\), using `link{gaussianElimination}`

.
Display the solutions using `showEqn`

.

##### Usage

```
Solve(A, b = rep(0, nrow(A)), vars, verbose = FALSE, simplify = TRUE,
fractions = FALSE, ...)
```

##### Arguments

- A,
the matrix of coefficients of a system of linear equations

- b,
the vector of constants on the right hand side of the equations. The default is a vector of zeros, giving the homogeneous equations \(Ax = 0\).

- vars
a numeric or character vector of names of the variables. If supplied, the length must be equal to the number of unknowns in the equations. The default is

`paste0("x", 1:ncol(A)`

.- verbose,
logical; show the steps of the Gaussian elimination algorithm?

- simplify
logical; try to simplify the equations?

- fractions
logical; express numbers as rational fractions?

- ...,
arguments to be passed to

`link{gaussianElimination}`

and`showEqn`

##### Details

This function mimics the base function `solve`

when supplied with two arguments,
`(A, b)`

, but gives a prettier result, as a set of equations for the solution. The call
`solve(A)`

with a single argument overloads this, returning the inverse of the matrix `A`

.
For that sense, use the function `inv`

instead.

##### Value

the function is used primarily for its side effect of printing the solution in a readable form, but it invisibly returns the solution as a character vector

##### See Also

##### Examples

```
# NOT RUN {
A1 <- matrix(c(2, 1, -1,
-3, -1, 2,
-2, 1, 2), 3, 3, byrow=TRUE)
b1 <- c(8, -11, -3)
Solve(A1, b1) # unique solution
A2 <- matrix(1:9, 3, 3)
b2 <- 1:3
Solve(A2, b2, fractions=TRUE) # underdetermined
b3 <- c(1, 2, 4)
Solve(A2, b3, fractions=TRUE) # overdetermined
# }
```

*Documentation reproduced from package matlib, version 0.9.2, License: GPL (>= 2)*