library(matlib)
## Warning: package 'matlib' was built under R version 4.2.3
Membuat matriks koefisien A:
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
Membuat vektor untuk sisi kanan linier
b <- c(475, 489, 542,422)
b
## [1] 475 489 542 422
Kita akan menggunakan funsi soolve() untuk mneyelesaikan sistem persamaan linear yang akan menampikan
Solve(A, b)
## x1 - 1*x4 = 53
## x2 + x4 = 422
## x3 + x4 = 489
## 0 = 0
x4=4
x1 = 53 + 1*x4
x2 = 422 + x4
x3 = 489 + x4
x1
## [1] 57
x2
## [1] 426
x3
## [1] 493
x4
## [1] 4
Tidak semua persamaan bisa diselesaikan dengan linear algebra. Pada situasi tertentu kadang kita akan menemui bahwa tidak menampilkan hasil dari suatu persamaan
Sebelum melanjutkan ke pembahasan setlahnya. Mari mereview ulang tentang beberapa pengertian
Persamaan linier adalah persamaan matematika yang melibatkan variabel-variabel yang hanya memiliki pangkat satu, seperti x, y, atau z. Secara umum, persamaan linier dapat dituliskan dalam bentuk: a1x1 + a2x2 + … + anxn = b
Di mana a1, a2, …, an, dan b adalah konstanta bilangan real, dan x1, x2, …, xn adalah variabel-variabel yang dapat dihitung nilainya. Persamaan linier dapat dipecahkan untuk mencari nilai-nilai dari variabel-variabel tersebut, dengan syarat bahwa jumlah variabelnya tidak lebih banyak dari jumlah persamaannya. Persamaan linier sangat penting dalam matematika dan banyak disalahgunakan dalam berbagai bidang ilmu pengetahuan, seperti ekonomi, teknik, fisika, dan sebagainya.
Sistem persamaan linier adalah kumpulan beberapa persamaan linier yang saling terkait dan membentuk sebuah sistem. Sistem persamaan linier umumnya dituliskan dalam bentuk matriks, di mana setiap baris dalam matriks mewakili sebuah persamaan linier. Setiap kolom dalam matriks mewakili variabel-variabel dalam sistem persamaan linier tersebut. Sebagai contoh, sistem persamaan linier dengan dua variabel, x dan y, dapat dituliskan dalam bentuk matriks sebagai berikut:
Dalam sistem persamaan linier, terdapat dua jenis matriks yang terkait: matriks koefisien dan matriks tambahan (augmented matrix). Matriks koefisien adalah matriks yang terdiri dari koefisien-koefisien variabel dalam sistem persamaan linier, dengan setiap baris mewakili sebuah persamaan linier. Sebagai contoh, sistem persamaan linier dengan tiga variabel x, y, dan z dapat dituliskan dalam bentuk matriks koefisien sebagai berikut:
[ a11 a12 a13 ] [ a21 a22 a23 ] [ a31 a32 a33 ]
Sementara itu, matriks tambahan (augmented matrix) adalah matriks yang terdiri dari matriks koefisien ditambahkan dengan kolom tambahan yang berisi konstanta-koefisien pada setiap baris, yang mewakili persamaan linier lengkap dalam sistem persamaan linier. Dalam contoh yang sama dengan matriks koefisien di atas, matriks tambahan untuk sistem persamaan linier tersebut adalah:
[ a11 a12 a13 | b1 ] [ a21 a22 a23 | b2 ] [ a31 a32 a33 | b3 ]
Matriks tambahan ini digunakan dalam metode-metode penyelesaian sistem persamaan linier seperti metode eliminasi Gauss-Jordan, karena memungkinkan untuk melakukan operasi baris pada sistem persamaan linier secara lebih mudah dan efisien.
Matriks identitas adalah sebuah matriks persegi (jumlah baris dan kolom sama) yang memiliki nilai 1 pada diagonal utama (dari sudut kiri atas ke sudut kanan bawah) dan nilai 0 pada seluruh elemen di luar diagonal utama. Matriks identitas umumnya dilambangkan dengan I atau In untuk matriks identitas berukuran n×n, di mana n adalah ukuran matriks.Sebagai contoh, matriks identitas berukuran 3×3 adalah sebagai berikut: [ 1 0 0 ] [ 0 1 0 ] [ 0 0 1 ]
Matriks identitas memiliki sifat yang penting dalam aljabar linier dan matematika secara umum, karena matriks identitas memiliki sifat bahwa ketika dikalikan dengan matriks lain, hasilnya adalah matriks itu sendiri. Dalam notasi matematika, hal ini dapat dituliskan sebagai berikut:
AI = IA = A
Di mana A adalah matriks apapun yang kompatibel dengan matriks identitas I, yaitu matriks yang memiliki jumlah kolom sama dengan jumlah baris dari matriks identitas. Sifat ini memungkinkan matriks identitas digunakan sebagai identitas perkalian dalam aljabar matriks, dan memainkan peran penting dalam berbagai konsep dan aplikasi aljabar linier, seperti invers matriks, determinan, dan transformasi linier.
Echelon form atau bentuk eselon adalah bentuk matriks yang diperoleh setelah melakukan serangkaian operasi baris pada sebuah matriks. Echelon form memiliki beberapa sifat khusus, seperti setiap baris nol berada di bagian bawah matriks, dan setiap baris yang tidak nol memiliki elemen pertama yang tidak nol (juga disebut sebagai leading entry) yang berada lebih ke kanan dibandingkan leading entry pada baris di atasnya. Secara formal, sebuah matriks dinyatakan dalam bentuk echelon form jika memenuhi kondisi-kondisi berikut:
Semua baris nol berada di bagian bawah matriks. Setiap leading entry (elemen pertama yang tidak nol) pada sebuah baris berada di kolom yang lebih ke kanan dibandingkan leading entry pada baris di atasnya. Jika sebuah baris tidak nol, maka semua elemen pada kolom leading entry tersebut di bawah leading entry tersebut adalah nol. Sebagai contoh, matriks berikut adalah dalam bentuk echelon form:
[ 2 4 6 ] [ 0 1 3 ] [ 0 0 -5 ]
Bentuk echelon dari sebuah matriks dapat dicapai melalui serangkaian operasi baris yang termasuk dalam metode eliminasi Gauss, seperti menukar baris, mengalikan sebuah baris dengan konstanta non-nol, dan menambahkan hasil perkalian sebuah baris dengan konstanta ke baris lain. Bentuk echelon sering digunakan dalam menyelesaikan sistem persamaan linier dan berbagai masalah aljabar linier, seperti mencari invers matriks dan mencari basis dan ruang kolom matriks.
Gaussian Elimination (eliminasi Gauss) adalah sebuah metode untuk menyelesaikan sistem persamaan linier dengan cara mentransformasi matriks koefisien menjadi bentuk echelon menggunakan serangkaian operasi baris. Metode ini mengambil nama dari matematikawan Jerman, Carl Friedrich Gauss.
Metode eliminasi Gauss dimulai dengan memasukkan koefisien dari masing-masing variabel ke dalam sebuah matriks augmented, yang terdiri dari koefisien variabel dan kolom hasil. Kemudian, dengan melakukan serangkaian operasi baris pada matriks augmented, matriks tersebut diubah menjadi bentuk echelon atau bentuk tereduksi baris. Selanjutnya, sistem persamaan linier dapat diselesaikan dengan menggunakan metode back-substitution atau substitusi balik.
Pada setiap tahap metode eliminasi Gauss, operasi baris yang dilakukan harus memastikan bahwa leading entry (elemen pertama yang tidak nol) dari setiap baris selalu berada di kolom yang lebih kanan dibandingkan leading entry pada baris di atasnya. Operasi baris yang umum dilakukan dalam metode eliminasi Gauss meliputi:
Menukar dua baris Mengalikan sebuah baris dengan sebuah konstanta non-nol Menambahkan hasil perkalian sebuah baris dengan sebuah konstanta ke sebuah baris lain. Pada akhirnya, setelah matriks augmented telah dikonversi ke bentuk echelon atau bentuk tereduksi baris, solusi sistem persamaan linier dapat ditemukan dengan mudah menggunakan substitusi balik atau metode back-substitution. Metode eliminasi Gauss adalah metode yang sangat umum digunakan dalam aljabar linier dan memiliki banyak aplikasi dalam berbagai bidang, seperti teknik sipil, ilmu komputer, dan fisika.
Di R kita juga bisa melihat bagaimana Gaussian Elimination bekerja menggunakan package matlib. Kita akan menggunakan contoh di atas. Misalkan kita memiliki sistem persamaan linear berikut :
x2 + 3x3 − x4 = 1 −x1 + x2 − 4x3 = 1 x1 + 2x3 + 4x4 = 5 x2 − 4x4 = −2.
Maka Augmented Matriksnya adalah :
0 1 3 −1 1 −1 1 −4 0 1 1 0 2 4 5 0 1 0 −4 −2
Pertama kita harus menggunakan package matlib
library(matlib)
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
Sekarang dengan menggunakan fungsi eselon() kita dapat melihat bagaimana Penghapusan Gaussian bekerja. Dengan contoh ini, kita dapat mengetikkan echelon(A, b, verbose=TRUE, fractions=TRUE) Jika opsi “fraksi” ini disetel sebagai “BENAR”, maka hasilnya dalam bentuk angka rasional. R menampilkan yang berikut ini sebagai cara kerja Penghapusan Gaussian:
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
Jadi solusi untuk sistem ini adalah x1 = 1, x2 = 2, x3 = 0, x4 = 1.
Solve(A,b)
## x1 = 1
## x2 = 2
## x3 = 0
## x4 = 1
Berlanjut ke contoh selanjutnya pada sistem persamaan linier
5x2 + 4x3 + 7x4 = −9 −9x1 + 6x2 + 6x3 + 7x4 = −17 4x1 + 3x2 + 5x4 = −3 4x1 + 8x2 + 4x3 + 12x4 = 0.
Dimana mempunyai augmented matriks
0 5 4 7 −9 −9 6 6 7 −17 4 3 0 5 −3 4 8 4 12 0
Kami menggunakan paket matlib untuk contoh ini. Kami membuat matriks koefisiendan vektor ruas kanan persamaan sistem. Kemudian kita punya
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)
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