library(matlib)
## Warning: package 'matlib' was built under R version 4.2.2

Melalui penggunaan metode reduksi baris elementer untuk mengubah sebuah matriks menjadi bentuk eselon dan bentuk eselon tereduksi, kita dapat menentukan dengan jelas apakah sistem persamaan linear memiliki solusi unik, tidak memiliki solusi, atau memiliki tak terhingga banyak solusi. Hal ini dikarenakan setiap matriks memiliki bentuk eselon dan bentuk eselon tereduksi yang unik, yang memungkinkan kita untuk memberikan jawaban pasti mengenai solusi dari sistem persamaan linear tersebut.

A <- matrix(c(0,-2,-1,2,3,2,3,-2,3), nrow =3, ncol = 3)
b <- c(6,-1,2)
A
##      [,1] [,2] [,3]
## [1,]    0    2    3
## [2,]   -2    3   -2
## [3,]   -1    2    3
b
## [1]  6 -1  2
Solve(A,b)
## x1      =           4 
##   x2    =  2.53846154 
##     x3  =  0.30769231
A <- matrix(c(1, 0, 0, -0.375, 1, -1, 4, 1, 0, 0, 1 ,0.75), nrow =3, ncol = 4)
b <- c(6,-1,2)
A
##      [,1]   [,2] [,3] [,4]
## [1,]    1 -0.375    4 0.00
## [2,]    0  1.000    1 1.00
## [3,]    0 -1.000    0 0.75
b
## [1]  6 -1  2
Solve(A,b)
## x1     - 7.28125*x4  =  1.25 
##   x2      - 0.75*x4  =    -2 
##     x3    + 1.75*x4  =     1

Eliminasi Gaussian adalah suatu teknik dalam aljabar linear yang digunakan untuk mengubah sebuah matriks menjadi bentuk eselon atau bentuk eselon tereduksi dengan menggunakan serangkaian operasi baris elementer. Teknik ini sangat berguna dalam menyelesaikan sistem persamaan linear, di mana kita dapat menggunakan matriks augmentasi untuk merepresentasikan sistem persamaan linear tersebut. Di sini kita menggunakan sistem persamaan linear berikut untuk mendemonstrasikan Eliminasi Gaussian

A <- matrix(c(1,0,1,0,1,0,0,1,0,1,1,0,0,1,0,1),nrow=4,ncol=4)
A
##      [,1] [,2] [,3] [,4]
## [1,]    1    1    0    0
## [2,]    0    0    1    1
## [3,]    1    0    1    0
## [4,]    0    1    0    1
b <- c(475, 489, 542,422)
b
## [1] 475 489 542 422
Solve(A,b)
## x1     - 1*x4  =   53 
##   x2     + x4  =  422 
##     x3   + x4  =  489 
##             0  =    0
A <- matrix(c(0, -1, 1, 0, 1, 1, 0, 1, 3, -4, 2, 0, -1, 0, 4, -4), 4, 4)
b <- c(1, 1, 5, -2)
showEqn(A, b)
##  0*x1 + 1*x2 + 3*x3 - 1*x4  =   1 
## -1*x1 + 1*x2 - 4*x3 + 0*x4  =   1 
##  1*x1 + 0*x2 + 2*x3 + 4*x4  =   5 
##  0*x1 + 1*x2 + 0*x3 - 4*x4  =  -2
echelon(A, b, verbose=TRUE, fractions=TRUE)
## 
## Initial matrix:
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  0    1    3   -1    1  
## [2,] -1    1   -4    0    1  
## [3,]  1    0    2    4    5  
## [4,]  0    1    0   -4   -2  
## 
## row: 1 
## 
##  exchange rows 1 and 2 
##      [,1] [,2] [,3] [,4] [,5]
## [1,] -1    1   -4    0    1  
## [2,]  0    1    3   -1    1  
## [3,]  1    0    2    4    5  
## [4,]  0    1    0   -4   -2  
## 
##  multiply row 1 by -1 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  1   -1    4    0   -1  
## [2,]  0    1    3   -1    1  
## [3,]  1    0    2    4    5  
## [4,]  0    1    0   -4   -2  
## 
##  subtract row 1 from row 3 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  1   -1    4    0   -1  
## [2,]  0    1    3   -1    1  
## [3,]  0    1   -2    4    6  
## [4,]  0    1    0   -4   -2  
## 
## row: 2 
## 
##  multiply row 2 by 1 and add to row 1 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  1    0    7   -1    0  
## [2,]  0    1    3   -1    1  
## [3,]  0    1   -2    4    6  
## [4,]  0    1    0   -4   -2  
## 
##  subtract row 2 from row 3 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  1    0    7   -1    0  
## [2,]  0    1    3   -1    1  
## [3,]  0    0   -5    5    5  
## [4,]  0    1    0   -4   -2  
## 
##  subtract row 2 from row 4 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  1    0    7   -1    0  
## [2,]  0    1    3   -1    1  
## [3,]  0    0   -5    5    5  
## [4,]  0    0   -3   -3   -3  
## 
## row: 3 
## 
##  multiply row 3 by -1/5 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  1    0    7   -1    0  
## [2,]  0    1    3   -1    1  
## [3,]  0    0    1   -1   -1  
## [4,]  0    0   -3   -3   -3  
## 
##  multiply row 3 by 7 and subtract from row 1 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  1    0    0    6    7  
## [2,]  0    1    3   -1    1  
## [3,]  0    0    1   -1   -1  
## [4,]  0    0   -3   -3   -3  
## 
##  multiply row 3 by 3 and subtract from row 2 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  1    0    0    6    7  
## [2,]  0    1    0    2    4  
## [3,]  0    0    1   -1   -1  
## [4,]  0    0   -3   -3   -3  
## 
##  multiply row 3 by 3 and add to row 4 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  1    0    0    6    7  
## [2,]  0    1    0    2    4  
## [3,]  0    0    1   -1   -1  
## [4,]  0    0    0   -6   -6  
## 
## row: 4 
## 
##  multiply row 4 by -1/6 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  1    0    0    6    7  
## [2,]  0    1    0    2    4  
## [3,]  0    0    1   -1   -1  
## [4,]  0    0    0    1    1  
## 
##  multiply row 4 by 6 and subtract from row 1 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  1    0    0    0    1  
## [2,]  0    1    0    2    4  
## [3,]  0    0    1   -1   -1  
## [4,]  0    0    0    1    1  
## 
##  multiply row 4 by 2 and subtract from row 2 
##      [,1] [,2] [,3] [,4] [,5]
## [1,]  1    0    0    0    1  
## [2,]  0    1    0    0    2  
## [3,]  0    0    1   -1   -1  
## [4,]  0    0    0    1    1  
## 
##  multiply row 4 by 1 and add to row 3 
##      [,1] [,2] [,3] [,4] [,5]
## [1,] 1    0    0    0    1   
## [2,] 0    1    0    0    2   
## [3,] 0    0    1    0    0   
## [4,] 0    0    0    1    1