View source: R/gaussian-elimination.R
gaussianElimination | R Documentation |
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.
gaussianElimination(
A,
B,
tol = sqrt(.Machine$double.eps),
verbose = FALSE,
latex = FALSE,
fractions = FALSE
)
## S3 method for class 'enhancedMatrix'
print(x, ...)
A |
coefficient matrix |
B |
right-hand side vector or matrix. If |
tol |
tolerance for checking for 0 pivot |
verbose |
logical; if |
latex |
logical; if |
fractions |
logical; if |
x |
matrix to print |
... |
arguments to pass down |
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
.
John Fox
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)
# works for 1-row systems (issue # 30)
A2 <- matrix(c(1, 1), nrow=1)
b2 = 2
gaussianElimination(A2, b2)
showEqn(A2, b2)
# plotEqn works for this case
plotEqn(A2, b2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.