# Solve: Solve and Display Solutions for Systems of Linear... In friendly/matlib: Matrix Functions for Teaching and Learning Linear Algebra and Multivariate Statistics

## Description

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

 ```1 2``` ```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

John Fox

## See Also

`gaussianElimination`, `showEqn` `inv`, `solve`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12``` ``` 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 ```

friendly/matlib documentation built on Aug. 26, 2018, 5:49 a.m.