Pengantar Model Linear - Aljabar Matriks
Video Pembelajaran - P1
Video Pembelajaran dapat diakses melalui link berikut : https://ipb.link/materipml
Aljabar Matriks
Definisi Matriks
Matriks adalah array dua dimensi yang mengandung angka, yang disusun dalam baris dan kolom. Matriks sangat penting dalam banyak bidang matematika dan statistik.
# Membuat matriks 3x3
A <- matrix(c(2, 4, 6, 1, 3, 5, 7, 9, 11), nrow = 3, ncol = 3, byrow = TRUE)
print(A)## [,1] [,2] [,3]
## [1,] 2 4 6
## [2,] 1 3 5
## [3,] 7 9 11
## [,1] [,2] [,3] [,4]
## [1,] 2 4 6 8
## [2,] 1 3 5 10
## [3,] 7 9 11 12
## [,1] [,2] [,3] [,4]
## [1,] 2 4 6 8
## [2,] 1 3 5 10
## [3,] 7 9 11 12
## [4,] 13 14 15 16
Operasi Dasar Matriks
Operasi dasar pada matriks mencakup penjumlahan, pengurangan, perkalian, dan komputasi determinan. Operasi-operasi ini sering digunakan dalam analisis data dan pemodelan statistik.
# Penjumlahan dan pengurangan matriks
A <- matrix(c(1, 2, 3, 4), nrow = 2, ncol = 2)
B <- matrix(c(5, 6, 7, 8), nrow = 2, ncol = 2)
C <- A + B # Penjumlahan
D <- A - B # Pengurangan
print(C)## [,1] [,2]
## [1,] 6 10
## [2,] 8 12
## [,1] [,2]
## [1,] -4 -4
## [2,] -4 -4
## [,1] [,2]
## [1,] 23 31
## [2,] 34 46
## [,1] [,2]
## [1,] 5 21
## [2,] 12 32
## [1] -2
## [1] -2
## [,1] [,2]
## [1,] -2 1.5
## [2,] 1 -0.5
Putaran (Transpose) Matriks
Transpose matriks adalah operasi yang mengubah baris menjadi kolom dan sebaliknya. Transpose sering digunakan dalam berbagai manipulasi data dan pemodelan matematis.
# Membuat matriks
A <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2, ncol = 3)
# Melakukan transpose
A_transpose <- t(A)
print(A_transpose)## [,1] [,2]
## [1,] 1 2
## [2,] 3 4
## [3,] 5 6
# Periksa apakah transpose dari transpose matriks sama dengan matriks awal
A_double_transpose <- t(A_transpose)
print(all(A == A_double_transpose)) # Harusnya TRUE## [1] TRUE
Matriks Simetrik
Matriks disebut simetrik jika A’ = A. Matriks simetrik sering muncul dalam konteks analisis data, seperti dalam komputasi matriks kovarians.
# Membuat matriks simetrik
A <- matrix(c(4, 2, 2, 3), nrow = 2, ncol = 2)
# Memeriksa apakah matriks simetrik
is_symmetric <- all(A == t(A))
print(is_symmetric) # Harusnya TRUE## [1] TRUE
# Membuat matriks non-simetrik
B <- matrix(c(4, 2, 3, 5), nrow = 2, ncol = 2)
# Memeriksa apakah matriks non-simetrik
is_symmetric_B <- all(B == t(B))
print(is_symmetric_B) # Harusnya FALSE## [1] FALSE
Matriks Identitas
Matriks identitas adalah matriks diagonal persegi dengan elemen 1 pada diagonal utamanya dan 0 pada elemen lainnya. Matriks ini memainkan peran penting dalam banyak operasi matriks.
## [,1] [,2] [,3] [,4]
## [1,] 1 0 0 0
## [2,] 0 1 0 0
## [3,] 0 0 1 0
## [4,] 0 0 0 1
# Menggunakan matriks identitas dalam operasi matriks
A <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9), nrow = 3, ncol = 3)
A_identity <- A %*% diag(3)
print(A_identity) # Harusnya sama dengan A## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
Kebalikan (Inverse) Matriks
Kebalikan dari matriks A adalah matriks A^{-1} yang jika dikalikan dengan A akan menghasilkan matriks identitas. Invers matriks sangat penting dalam pemecahan sistem persamaan linear.
# Membuat matriks 3x3
A <- matrix(c(1, 2, 3, 0, 1, 4, 5, 6, 0), nrow = 3, ncol = 3)
# Menghitung kebalikan matriks
A_inv <- solve(A)
print(A_inv)## [,1] [,2] [,3]
## [1,] -24 20 -5
## [2,] 18 -15 4
## [3,] 5 -4 1
# Verifikasi bahwa perkalian antara matriks dan inversnya menghasilkan identitas
I <- A %*% A_inv
print(round(I, 2)) # Membulatkan hasil untuk mendapatkan nilai yang lebih rapi## [,1] [,2] [,3]
## [1,] 1 0 0
## [2,] 0 1 0
## [3,] 0 0 1
Matriks Ortogonal
Matriks ortogonal adalah matriks dimana kolom-kolomnya adalah vektor-vektor ortogonal satu sama lain, dan norma setiap kolomnya adalah 1. Matriks ortogonal memiliki sifat Q×Q′=I. Matriks disebut ortogonal jika perkalian matriks tersebut dengan transpose-nya menghasilkan matriks identitas.
# Membuat matriks ortogonal 2x2
Q <- matrix(c(1/sqrt(2), 1/sqrt(2), -1/sqrt(2), 1/sqrt(2)), nrow = 2, ncol = 2)
# Verifikasi ortogonalitas
I <- Q %*% t(Q)
print(round(I, 2)) # Harus menghasilkan matriks identitas## [,1] [,2]
## [1,] 1 0
## [2,] 0 1
Akar Ciri (Eigen Value) Matriks
Eigen value dan eigen vector adalah konsep penting dalam banyak bidang, termasuk pengenalan pola, kompresi data, dan pemodelan statistik. Eigen value adalah skalar yang mengukur seberapa banyak eigen vector meregang atau menyusut di bawah transformasi linear.
# Membuat matriks 3x3
A <- matrix(c(6, 2, 1, 2, 3, 1, 1, 1, 1), nrow = 3, ncol = 3)
# Menghitung eigen values dan eigen vectors
eigen_result <- eigen(A)
eigen_values <- eigen_result$values
eigen_vectors <- eigen_result$vectors
print(eigen_values)## [1] 7.2879921 2.1330745 0.5789334
## [,1] [,2] [,3]
## [1,] 0.8664322 0.4974250 -0.0431682
## [2,] 0.4530576 -0.8195891 -0.3507314
## [3,] 0.2098428 -0.2843274 0.9354806
Pangkat (Rank) Matriks
Pangkat atau rank dari matriks adalah jumlah dari baris atau kolom yang tidak nol, yang juga menunjukkan jumlah dimensi dalam ruang vektor yang dapat dihasilkan oleh kolom matriks tersebut.
# Membuat matriks 4x3
A <- matrix(c(1, 2, 3, 4, 2, 4, 6, 8, 1, 3, 5, 7), nrow = 3, ncol = 4)
# Menghitung rank matriks
rank_A <- qr(A)$rank
print(rank_A)## [1] 3
Matriks Idempoten
Matriks idempoten adalah matriks yang apabila dikalikan dengan dirinya sendiri akan menghasilkan matriks itu sendiri. Matriks idempoten sering muncul dalam konteks proyeksi.
# Membuat matriks idempoten
M <- matrix(c(1, 0, 0, 0), nrow = 2, byrow = TRUE)
# Menghitung hasil perkalian matriks M dengan dirinya sendiri
M_squared <- M %*% M
# Memeriksa apakah M idempoten
is_idempotent <- all.equal(M, M_squared) == TRUE
# Output hasil
if (is_idempotent) {
cat("Matriks ini idempoten.\n")
} else {
cat("Matriks ini tidak idempoten.\n")
}## Matriks ini idempoten.
Teras (Trace) Matriks
Teras atau trace dari matriks adalah jumlah elemen-elemen diagonal utama dari matriks tersebut. Trace sering digunakan dalam berbagai komputasi matematis, termasuk dalam penentuan eigen value.
## [,1] [,2] [,3]
## [1,] 5 4 7
## [2,] 2 9 8
## [3,] 3 6 10
## [1] 24