gaussianElimination: Gaussian Elimination

Description Usage Arguments Value Author(s) Examples

View source: R/gaussian-elimination.R

Description

gaussianElimination demonstrates the algorithm of row reduction used for solving systems of linear equations of the form A x = B. Optional arguments verbose and fractions may be used to see how the algorithm works.

Usage

1
2
gaussianElimination(A, B, tol = sqrt(.Machine$double.eps), verbose = FALSE,
  latex = FALSE, fractions = FALSE)

Arguments

A

coefficient matrix

B

right-hand side vector or matrix. If B is a matrix, the result gives solutions for each column as the right-hand side of the equations with coefficients in A.

tol

tolerance for checking for 0 pivot

verbose

logical; if TRUE, print intermediate steps

latex

logical; if TRUE, and verbose is TRUE, print intermediate steps using LaTeX equation outputs rather than R output

fractions

logical; if TRUE, try to express non-integers as rational numbers

Value

If B is absent, returns the reduced row-echelon form of A. If B is present, returns the reduced row-echelon form of A, with the same operations applied to B.

Author(s)

John Fox

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
  A <- matrix(c(2, 1, -1,
               -3, -1, 2,
               -2,  1, 2), 3, 3, byrow=TRUE)
  b <- c(8, -11, -3)
  gaussianElimination(A, b)
  gaussianElimination(A, b, verbose=TRUE, fractions=TRUE)
  gaussianElimination(A, b, verbose=TRUE, fractions=TRUE, latex=TRUE)

  # determine whether matrix is solvable
  gaussianElimination(A, numeric(3))

  # find inverse matrix by elimination: A = I -> A^-1 A = A^-1 I -> I = A^-1
  gaussianElimination(A, diag(3))
  inv(A)

matlib documentation built on May 30, 2017, 1:49 a.m.