Nama : Muhammad Hafidlul Qolbi

NIM : 220605110063

Kelas : A

Mata Kuliah : Linear Algebra

Dosen Pengampuh : Prof. Dr. Suhartono, M.Kom

Jurusan : Teknik Informatika

Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

===========================================================================================

Pada percobaan kali ini yaitu tentang pembuatan suatu grafik dari operasi matriks. Berikut ini adalah library yang digunakan

library(mvtnorm)
library(ggplot2)
library(matlib)
sigma <- matrix(c(4,2,2,3), ncol = 2, nrow = 2)
mu <- c(1, 2)
n <- 1000

Fungsi set.seed() menetapkan seed, yang merupakan nilai untuk mulai menghasilkanbilangan acak. Fungsi set.seed() mengatur ulang nilai dari bilangan acakangka acak dan fungsi acak dari nilai yang telah diperoleh sebelumnya. Kita menetapkanseed untuk mereproduksi hasil yang sama. Jika kita menetapkan seed yang sama, makakita dapat mereproduksi angka acak yang sama:

set.seed(123)
x <- rmvnorm(n = n, mean = mu, sigma = sigma)
d <- data.frame(x)


p2 <- ggplot(d, aes(x = X1, y = X2)) +
geom_point(alpha = .5) +
geom_density_2d()
p2

y <- x - mu
E <- eigen(sigma)
E$vectors
##            [,1]       [,2]
## [1,] -0.7882054  0.6154122
## [2,] -0.6154122 -0.7882054

Vektor eigen dari matriks sigma disimpan dalam vektor E$ dalam bentukdari sebuah matriks. Setiap vektor kolom adalah vektor eigen.Kemudian kita ambil perkalian matriks, kumpulan data yang disimpan sebagai matriks 10000 × 2dikalikan dengan matriks 2 × 2, transpose dari kebalikan darimatriks E. Kebalikan dari sebuah matriks akan dibahas di bagian selanjutnya.

y <- y %*% t(inv(E$vectors))

Seperti yang telah kita lakukan untuk kumpulan data x, kita menetapkan data ini sebagai “bingkai data” menggunakan fungsi fungsi data.frame():

dd <- data.frame(y)
p3 <- ggplot(dd, aes(x = X1, y = X2)) +
geom_point(alpha = .5) +
geom_density_2d()
p3

Sumber Referensi: Ruriko Yoshida - Linear Algebra and its Application with R