library(matlib)
G <- matrix(c(1,2,3,2), nrow = 2, ncol = 2)
H <- c(4, 5)
G
## [,1] [,2]
## [1,] 1 3
## [2,] 2 2
H
## [1] 4 5
solve(G, H)
## [1] 1.75 0.75
plotEqn(G, H)
## x[1] + 3*x[2] = 4
## 2*x[1] + 2*x[2] = 5

a <- matrix(c(0, -2, -1, 2, 2, 4, 3, -2, 3), nrow = 3, ncol = 3)
b <- c(6, -1, 2)
a
## [,1] [,2] [,3]
## [1,] 0 2 3
## [2,] -2 2 -2
## [3,] -1 4 3
b
## [1] 6 -1 2
solve(a, b)
## [1] -29.0 -16.5 13.0
plotEqn3d(a, b)
C <- matrix(c(0, 9, 4, 4, 5, 7, 3, 8,6, 6, 0, 4, 7, 7, 5, 12), 4, 4)
D <- c(-9, -7, -3, 0)
C
## [,1] [,2] [,3] [,4]
## [1,] 0 5 6 7
## [2,] 9 7 6 7
## [3,] 4 3 0 5
## [4,] 4 8 4 12
D
## [1] -9 -7 -3 0
showEqn(C, D)
## 0*x1 + 5*x2 + 6*x3 + 7*x4 = -9
## 9*x1 + 7*x2 + 6*x3 + 7*x4 = -7
## 4*x1 + 3*x2 + 0*x3 + 5*x4 = -3
## 4*x1 + 8*x2 + 4*x3 + 12*x4 = 0
echelon(C, D, verbose=TRUE, fractions=TRUE)
##
## Initial matrix:
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0 5 6 7 -9
## [2,] 9 7 6 7 -7
## [3,] 4 3 0 5 -3
## [4,] 4 8 4 12 0
##
## row: 1
##
## exchange rows 1 and 2
## [,1] [,2] [,3] [,4] [,5]
## [1,] 9 7 6 7 -7
## [2,] 0 5 6 7 -9
## [3,] 4 3 0 5 -3
## [4,] 4 8 4 12 0
##
## multiply row 1 by 1/9
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 7/9 2/3 7/9 -7/9
## [2,] 0 5 6 7 -9
## [3,] 4 3 0 5 -3
## [4,] 4 8 4 12 0
##
## multiply row 1 by 4 and subtract from row 3
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 7/9 2/3 7/9 -7/9
## [2,] 0 5 6 7 -9
## [3,] 0 -1/9 -8/3 17/9 1/9
## [4,] 4 8 4 12 0
##
## multiply row 1 by 4 and subtract from row 4
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 7/9 2/3 7/9 -7/9
## [2,] 0 5 6 7 -9
## [3,] 0 -1/9 -8/3 17/9 1/9
## [4,] 0 44/9 4/3 80/9 28/9
##
## row: 2
##
## multiply row 2 by 1/5
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 7/9 2/3 7/9 -7/9
## [2,] 0 1 6/5 7/5 -9/5
## [3,] 0 -1/9 -8/3 17/9 1/9
## [4,] 0 44/9 4/3 80/9 28/9
##
## multiply row 2 by 7/9 and subtract from row 1
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 0 -4/15 -14/45 28/45
## [2,] 0 1 6/5 7/5 -9/5
## [3,] 0 -1/9 -8/3 17/9 1/9
## [4,] 0 44/9 4/3 80/9 28/9
##
## multiply row 2 by 1/9 and add to row 3
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 0 -4/15 -14/45 28/45
## [2,] 0 1 6/5 7/5 -9/5
## [3,] 0 0 -38/15 92/45 -4/45
## [4,] 0 44/9 4/3 80/9 28/9
##
## multiply row 2 by 44/9 and subtract from row 4
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 0 -4/15 -14/45 28/45
## [2,] 0 1 6/5 7/5 -9/5
## [3,] 0 0 -38/15 92/45 -4/45
## [4,] 0 0 -68/15 92/45 536/45
##
## row: 3
##
## exchange rows 3 and 4
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 0 -4/15 -14/45 28/45
## [2,] 0 1 6/5 7/5 -9/5
## [3,] 0 0 -68/15 92/45 536/45
## [4,] 0 0 -38/15 92/45 -4/45
##
## multiply row 3 by -15/68
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 0 -4/15 -14/45 28/45
## [2,] 0 1 6/5 7/5 -9/5
## [3,] 0 0 1 -23/51 -134/51
## [4,] 0 0 -38/15 92/45 -4/45
##
## multiply row 3 by 4/15 and add to row 1
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 0 0 -22/51 -4/51
## [2,] 0 1 6/5 7/5 -9/5
## [3,] 0 0 1 -23/51 -134/51
## [4,] 0 0 -38/15 92/45 -4/45
##
## multiply row 3 by 6/5 and subtract from row 2
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 0 0 -22/51 -4/51
## [2,] 0 1 0 33/17 23/17
## [3,] 0 0 1 -23/51 -134/51
## [4,] 0 0 -38/15 92/45 -4/45
##
## multiply row 3 by 38/15 and add to row 4
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 0 0 -22/51 -4/51
## [2,] 0 1 0 33/17 23/17
## [3,] 0 0 1 -23/51 -134/51
## [4,] 0 0 0 46/51 -344/51
##
## row: 4
##
## multiply row 4 by 51/46
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 0 0 -22/51 -4/51
## [2,] 0 1 0 33/17 23/17
## [3,] 0 0 1 -23/51 -134/51
## [4,] 0 0 0 1 -172/23
##
## multiply row 4 by 22/51 and add to row 1
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 0 0 0 -76/23
## [2,] 0 1 0 33/17 23/17
## [3,] 0 0 1 -23/51 -134/51
## [4,] 0 0 0 1 -172/23
##
## multiply row 4 by 33/17 and subtract from row 2
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 0 0 0 -76/23
## [2,] 0 1 0 0 365/23
## [3,] 0 0 1 -23/51 -134/51
## [4,] 0 0 0 1 -172/23
##
## multiply row 4 by 23/51 and add to row 3
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 0 0 0 -76/23
## [2,] 0 1 0 0 365/23
## [3,] 0 0 1 0 -6
## [4,] 0 0 0 1 -172/23