# rowadd

From matlib v0.9.2
by Michael Friendly

##### Add multiples of rows to other rows

The elementary row operation `rowadd`

adds multiples of one or more rows to other rows of a matrix.
This is usually used as a means to solve systems of linear equations, of the form \(A x = b\), and `rowadd`

corresponds to adding equals to equals.

##### Usage

`rowadd(x, from, to, mult)`

##### Arguments

- x
a numeric matrix, possibly consisting of the coefficient matrix, A, joined with a vector of constants, b.

- from
the index of one or more source rows. If

`from`

is a vector, it must have the same length as`to`

.- to
the index of one or more destination rows

- mult
the multiplier(s)

##### Details

The functions `rowmult`

and `rowswap`

complete the basic operations used in reduction
to row echelon form and Gaussian elimination. These functions are used for demonstration purposes.

##### Value

the matrix `x`

, as modified

##### See Also

##### Examples

```
# NOT RUN {
A <- matrix(c(2, 1, -1,
-3, -1, 2,
-2, 1, 2), 3, 3, byrow=TRUE)
b <- c(8, -11, -3)
# using row operations to reduce below diagonal to 0
Ab <- cbind(A, b)
(Ab <- rowadd(Ab, 1, 2, 3/2)) # row 2 <- row 2 + 3/2 row 1
(Ab <- rowadd(Ab, 1, 3, 1)) # row 3 <- row 3 + 1 row 1
(Ab <- rowadd(Ab, 2, 3, -4)) # row 3 <- row 3 - 4 row 2
# multiply to make diagonals = 1
(Ab <- rowmult(Ab, 1:3, c(1/2, 2, -1)))
# The matrix is now in triangular form
# Could continue to reduce above diagonal to zero
echelon(A, b, verbose=TRUE, fractions=TRUE)
# }
```

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

### Community examples

Looks like there are no examples yet.