kita telah membahas bahwa kita dapat menyelesaikan sistem persamaan linear menggunakan bentuk eselon tereduksi dari matriks sistem yang diperbesar. Di dalam Selain itu, dengan Teorema 3.4 pada bagian sebelumnya, kita dapat membuktikan apakah a sistem persamaan linear n dengan n variabel memiliki solusi unik atau tidak. Jika sistem n persamaan linier dengan n variabel memiliki solusi unik, maka kita dapat menggunakan aturan Cramer untuk menemukan solusinya. Di sini kita mendefinisikan aturan Cramer dan diskusikan bagaimana kita dapat menggunakan aturan tersebut untuk menemukan solusi jika sistem memiliki a solusi unik.
Misalkan suatu sistem n persamaan linier dengan n variabel memiliki solusi unik sehingga Ax = b
Contoh :
Kita akan menggunakan fungsi det() di R. Seperti biasa, pertama kita mendefinisikan matriks A dan vektor b:
A <- matrix(c(0, 1, 3, -1, -1, 1, -4, 0, 1, 0, 2, 4, 0, 1, 0, -4),
nrow = 4, ncol = 4, byrow = TRUE)
b <- c(1, 1, 5, -2)
Kemudian kita definisikan matriks Ai(b) untuk i = 1, 2, 3, 4:
# Define A1(b)
A1 <- A
A1[, 1] <- b
# Define A2(b)
A2 <- A
A2[ ,2] <- b
# Define A3(b)
A3 <- A
A3[ ,3] <- b
# Define A4(b)
A4 <- A
A4[ ,4] <- b
Kemudian kami menggunakan fungsi det() untuk menemukan solusi menggunakan aturan Cramer:
x1 <- det(A1)/det(A)
x2 <- det(A2)/det(A)
x3 <- det(A3)/det(A)
x4 <- det(A4)/det(A)
x1
## [1] 1
x2
## [1] 2
x3
## [1] 7.401487e-17
x4
## [1] 1
Perhatikan bahwa R mengembalikan x3 = 7.401487e − 17. Ini berarti x3 = 7.401487 · 10−17, yang merupakan angka yang sangat kecil dan sangat mendekati 0. Hal ini disebabkan oleh kesalahan komputasi numerik. Sekarang kita periksa solusinya dengan menggunakan fungsi solve(). Kemudian R kembali:
solve(A,b)
## [1] 1 2 0 1
Cramer’s Rule adalah metode yang digunakan untuk menyelesaikan sistem persamaan linear dengan menggunakan determinan. Dalam R, kita dapat menggunakan fungsi solve() dan det() untuk menerapkan Cramer’s Rule. Berikut adalah contoh implementasi Cramer’s Rule menggunakan R:
# Fungsi untuk menerapkan Cramer's Rule
cramers_rule <- function(A, b) {
n <- ncol(A) # Jumlah variabel
det_A <- det(A) # Determinan matriks koefisien
# Inisialisasi array untuk menyimpan solusi
x <- numeric(n)
# Solusi menggunakan Cramer's Rule
for (i in 1:n) {
A_i <- A # Duplikat matriks koefisien
A_i[, i] <- b # Mengganti kolom ke-i dengan vektor konstanta
det_A_i <- det(A_i) # Determinan matriks A_i
if (det_A != 0) {
x[i] <- det_A_i / det_A # Solusi untuk variabel ke-i
} else {
stop("Sistem tidak memiliki solusi unik.")
}
}
return(x)
}
# Contoh sistem persamaan linear
A <- matrix(c(2, 1, 1, -1), nrow = 2, byrow = TRUE)
b <- c(4, 1)
# Solusi menggunakan Cramer's Rule
solution <- cramers_rule(A, b)
print(solution)
## [1] 1.6666667 0.6666667
Pada contoh di atas, kita mendefinisikan fungsi cramers_rule() yang mengambil matriks koefisien A dan vektor konstanta b sebagai argumen. Fungsi ini menghitung determinan det_A dari matriks koefisien dan kemudian menggunakan loop untuk menghitung solusi menggunakan Cramer’s Rule. Setiap iterasi, kita mengganti kolom ke-i dari matriks A dengan vektor konstanta b dan menghitung determinan det_A_i dari matriks yang diubah. Jika determinan matriks koefisien det_A tidak nol, kita menggunakan rumus Cramer’s Rule untuk menghitung solusi untuk variabel ke-i dan menyimpannya dalam array x. Jika determinan det_A adalah nol, maka sistem tidak memiliki solusi unik dan pesan kesalahan akan ditampilkan.
sumber : Yoshida, Ruriko. Linear algebra and its applications with R. CRC Press, 2021.