Matriks
Paket “matlib” menyediakan fungsi-fungsi untuk melakukan operasi pada matriks, termasuk operasi pada aljabar linier seperti eliminasi Gauss.Dengan memuat paket matlib, kita dapat menggunakan fungsi-fungsi yang ada di dalamnya untuk menyelesaikan permasalahan aljabar linier dengan mudah di dalam lingkungan R.
library(matlib)
## Warning: package 'matlib' was built under R version 4.2.2
perintah matrix disini digunakan untuk membuat matrix dengan jumlah 2 baris dan 2 kolom. Dapat disimpulkan matrix ini merupakan jenis matrix 2x2.
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
fungsi solve() pada R akan menghitung solusi dari sistem persamaan linear Gx = H, dengan G adalah matriks koefisien dan H adalah matriks hasil. Hasil dari solve(G, H) adalah vektor solusi x dari sistem persamaan linear tersebut. Jadi, dalam kode tersebut, solve(G, H) akan menghitung solusi dari sistem persamaan linear dan hasilnya akan tampak seperti dibawah
solve(G, H)
## [1] 1.75 0.75
Kita dapat menampilkan hasil plot dari persamaan linier dua variabel yang diberikan dalam bentuk matrix G dan matriks hasil H. Plot yang dihasilkan adalah grafik 2D dengan sumbu x dan y, di mana setiap titik pada grafik adalah solusi dari sistem persamaan linier yang diberikan.. contohnya seperti dibawah.
plotEqn(G, H)
## x[1] + 3*x[2] = 4
## 2*x[1] + 2*x[2] = 5
dibawah merupakan contoh dari matrix 3x3 dengan b merupakan matriks hasilnya.
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) akan menghitung solusi dari sistem persamaan linear dan hasilnya akan tampak seperti dibawah.
solve(a, b)
## [1] -29.0 -16.5 13.0
untuk memvisualisasikan plot visualisasi grafik tiga dimensi (3D) dari sistem persamaan linear dengan matriks koefisien a dan matriks konstanta b. Setiap persamaan dalam sistem dipandang sebagai bidang di ruang 3D, sehingga plot menunjukkan titik potong ketiga bidang yang mewakili solusi sistem. Jika sistem tidak memiliki solusi, maka tidak akan ada titik potong.
plotEqn3d(a, b)
dibawah ini merupakan contoh dari matrix 4x4
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() digunakan untuk menampilkan persamaan matematika dari matriks dan vektor yang diberikan sebagai argumen. Persamaan ditampilkan dalam format yang mudah dibaca dan dipahami. Fungsi ini dapat berguna dalam analisis matematika dan statistik ketika ingin memeriksa persamaan yang mendasari suatu model.
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
Dalam matematika echelon() digunakan untuk mengubah matriks menjadi bentuk reduksi baris, yaitu bentuk matriks di mana setiap baris non-nol dimulai dengan elemen nol atau 1, dan elemen nol berada di bawah elemen bukan nol di atasnya. Bentuk echelon ini sangat berguna dalam menyelesaikan sistem persamaan linear, menghitung inverse matriks, dan menentukan determinan matriks.
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
Source : Yoshida.Ruriko.2021.Linear Algebra and Its Applications With R.London. CRC Press.