Echelon

Echelon() digunakan untuk mengubah matriks A menjadi matriks eselon tereduksi dan memecahkan sistem persamaan linear. Dalam fungsi tersebut, argumen verbose=TRUE digunakan untuk menampilkan setiap langkah transformasi matriks, sehingga memudahkan dalam melihat proses transformasi. Sedangkan argumen fractions=TRUE digunakan untuk menampilkan fraksi sebagai solusi, jika diperlukan.

Hasil yang ditampilkan dari fungsi echelon() adalah matriks eselon tereduksi yang telah diubah sedemikian rupa sehingga setiap barisnya memiliki leading entry yang berbeda dan semakin ke bawah leading entry semakin kanan. Selain itu, fungsi echelon() juga menampilkan solusi sistem persamaan linear jika ada. Dalam kasus ini, sistem persamaan linear Ax = b memiliki solusi x1 = -3, x2 = 0, x3 = 2, dan x4 = 1. Oleh karena itu, kita dapat menyimpulkan bahwa fungsi echelon() dapat digunakan untuk memecahkan sistem persamaan linear dan mengubah matriks menjadi bentuk eselon tereduksi.

library(matlib)

library(matlib) adalah baris kode untuk memuat paket matlib yang berisi berbagai fungsi untuk matematika matriks dalam R.

library(matlib)

deklarasi

A <- matrix(c(0, -9, 4, 4, 5, 6, 3, 8, 4, 6, 0, 4, 7, 7, 5, 12), 4, 4) adalah baris kode untuk membuat matriks A berukuran 4x4 dengan elemen-elemennya ditentukan secara berurutan dari kiri ke kanan, atas ke bawah.

b <- c(-9, -17, -3, 0) adalah baris kode untuk membuat vektor b dengan elemen-elemennya ditentukan secara berurutan dari kiri ke kanan.

A <- matrix(c(0, -9, 4, 4, 5, 6, 3, 8, 4, 6, 0, 4, 7, 7, 5, 12), 4, 4)
b <- c(-9, -17, -3, 0)

Menyelesaikan sistem persamaan linear Ax = b

Solve(A, b) adalah baris kode untuk menyelesaikan sistem persamaan linear Ax = b dengan menggunakan fungsi Solve dari paket matlib.

Solve(A, b)
## x1     + 0.14285714*x4  =  -0.14285714 
##   x2   + 1.47619048*x4  =   3.19047619 
##     x3  - 0.0952381*x4  =  -6.23809524 
##                      0  =          -12

Menampilkan persamaan dalam bentuk matriks

showEqn(A, b) adalah baris kode untuk menampilkan persamaan dalam bentuk matriks dengan menggunakan fungsi showEqn dari paket matlib.

showEqn(A, b)
##  0*x1 + 5*x2 + 4*x3  + 7*x4  =   -9 
## -9*x1 + 6*x2 + 6*x3  + 7*x4  =  -17 
##  4*x1 + 3*x2 + 0*x3  + 5*x4  =   -3 
##  4*x1 + 8*x2 + 4*x3 + 12*x4  =    0

Mengubah matriks A menjadi matriks eselon tereduksi

echelon(A, b, verbose = TRUE, fractions = TRUE) adalah baris kode untuk mengubah matriks A menjadi matriks eselon tereduksi dengan menggunakan fungsi echelon dari paket matlib. verbose = TRUE berarti fungsi ini akan menampilkan langkah-langkah dalam proses reduksi matriks, sedangkan fractions = TRUE berarti angka-angka pada matriks eselon tereduksi akan ditampilkan dalam bentuk pecahan.

echelon(A, b, verbose = TRUE, fractions = TRUE)
## 
## Initial matrix:
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   0    5    4    7   -9 
## [2,]  -9    6    6    7  -17 
## [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    6    6    7  -17 
## [2,]   0    5    4    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 -2/3 -2/3 -7/9 17/9
## [2,]    0    5    4    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  -2/3  -2/3  -7/9  17/9
## [2,]     0     5     4     7    -9
## [3,]     0  17/3   8/3  73/9 -95/9
## [4,]     4     8     4    12     0
## 
##  multiply row 1 by 4 and subtract from row 4 
##      [,1]  [,2]  [,3]  [,4]  [,5] 
## [1,]     1  -2/3  -2/3  -7/9  17/9
## [2,]     0     5     4     7    -9
## [3,]     0  17/3   8/3  73/9 -95/9
## [4,]     0  32/3  20/3 136/9 -68/9
## 
## row: 2 
## 
##  exchange rows 2 and 4 
##      [,1]  [,2]  [,3]  [,4]  [,5] 
## [1,]     1  -2/3  -2/3  -7/9  17/9
## [2,]     0  32/3  20/3 136/9 -68/9
## [3,]     0  17/3   8/3  73/9 -95/9
## [4,]     0     5     4     7    -9
## 
##  multiply row 2 by 3/32 
##      [,1]   [,2]   [,3]   [,4]   [,5]  
## [1,]      1   -2/3   -2/3   -7/9   17/9
## [2,]      0      1    5/8  17/12 -17/24
## [3,]      0   17/3    8/3   73/9  -95/9
## [4,]      0      5      4      7     -9
## 
##  multiply row 2 by 2/3 and add to row 1 
##      [,1]   [,2]   [,3]   [,4]   [,5]  
## [1,]      1      0   -1/4    1/6  17/12
## [2,]      0      1    5/8  17/12 -17/24
## [3,]      0   17/3    8/3   73/9  -95/9
## [4,]      0      5      4      7     -9
## 
##  multiply row 2 by 17/3 and subtract from row 3 
##      [,1]    [,2]    [,3]    [,4]    [,5]   
## [1,]       1       0    -1/4     1/6   17/12
## [2,]       0       1     5/8   17/12  -17/24
## [3,]       0       0    -7/8    1/12 -157/24
## [4,]       0       5       4       7      -9
## 
##  multiply row 2 by 5 and subtract from row 4 
##      [,1]    [,2]    [,3]    [,4]    [,5]   
## [1,]       1       0    -1/4     1/6   17/12
## [2,]       0       1     5/8   17/12  -17/24
## [3,]       0       0    -7/8    1/12 -157/24
## [4,]       0       0     7/8   -1/12 -131/24
## 
## row: 3 
## 
##  exchange rows 3 and 4 
##      [,1]    [,2]    [,3]    [,4]    [,5]   
## [1,]       1       0    -1/4     1/6   17/12
## [2,]       0       1     5/8   17/12  -17/24
## [3,]       0       0     7/8   -1/12 -131/24
## [4,]       0       0    -7/8    1/12 -157/24
## 
##  multiply row 3 by 8/7 
##      [,1]    [,2]    [,3]    [,4]    [,5]   
## [1,]       1       0    -1/4     1/6   17/12
## [2,]       0       1     5/8   17/12  -17/24
## [3,]       0       0       1   -2/21 -131/21
## [4,]       0       0    -7/8    1/12 -157/24
## 
##  multiply row 3 by 1/4 and add to row 1 
##      [,1]    [,2]    [,3]    [,4]    [,5]   
## [1,]       1       0       0     1/7    -1/7
## [2,]       0       1     5/8   17/12  -17/24
## [3,]       0       0       1   -2/21 -131/21
## [4,]       0       0    -7/8    1/12 -157/24
## 
##  multiply row 3 by 5/8 and subtract from row 2 
##      [,1]    [,2]    [,3]    [,4]    [,5]   
## [1,]       1       0       0     1/7    -1/7
## [2,]       0       1       0   31/21   67/21
## [3,]       0       0       1   -2/21 -131/21
## [4,]       0       0    -7/8    1/12 -157/24
## 
##  multiply row 3 by 7/8 and add to row 4 
##      [,1]    [,2]    [,3]    [,4]    [,5]   
## [1,]       1       0       0     1/7    -1/7
## [2,]       0       1       0   31/21   67/21
## [3,]       0       0       1   -2/21 -131/21
## [4,]       0       0       0       0     -12
## 
## row: 4