Aljabar vektor adalah cabang dalam matematika yang mempelajari operasi-operasi matematika yang terkait dengan vektor. Vektor itu sendiri adalah entitas matematis yang memiliki magnitude (besar) dan arah. Dalam bahasa pemrograman R, terdapat beberapa fungsi dan operasi yang dapat digunakan untuk melakukan operasi-aljabar vektor.
a <- 1:5
b <- 6:10
d <- a * b
a
## [1] 1 2 3 4 5
b
## [1] 6 7 8 9 10
d
## [1] 6 14 24 36 50
a * 3
## [1] 3 6 9 12 15
a + c(1,10)
## Warning in a + c(1, 10): longer object length is not a multiple of shorter
## object length
## [1] 2 12 4 14 6
1:6 + c(0,10)
## [1] 1 12 3 14 5 16
Perbandingan logika (logical comparisons) adalah metode untuk membandingkan dua nilai atau ekspresi dalam bahasa pemrograman dan menghasilkan hasil yang bersifat benar (TRUE) atau salah (FALSE) berdasarkan kondisi yang ditentukan.
a <- 1:5
b <- 6:10
a == 2
## [1] FALSE TRUE FALSE FALSE FALSE
a != 2
## [1] TRUE FALSE TRUE TRUE TRUE
a < 3
## [1] TRUE TRUE FALSE FALSE FALSE
b >= 9
## [1] FALSE FALSE FALSE TRUE TRUE
a
## [1] 1 2 3 4 5
b
## [1] 6 7 8 9 10
b > 6 & b < 8
## [1] FALSE TRUE FALSE FALSE FALSE
b > 9 | a <= 2
## [1] TRUE TRUE FALSE FALSE TRUE
Dalam aljabar vektor, fungsi-fungsi memainkan peran penting dalam memanipulasi dan menganalisis vektor. Fungsi-fungsi ini memberikan cara untuk menghubungkan vektor masukan dengan vektor keluaran, seringkali melalui serangkaian operasi matematika. Ada beberapa fungsi yang umum digunakan dalam aljabar vektor, seperti fungsi penjumlahan vektor, fungsi perkalian skalar, dan fungsi perkalian vektor.
Fungsi penjumlahan vektor mengambil dua vektor sebagai masukan dan menghasilkan vektor keluaran yang merupakan penjumlahan dari vektor-vektor tersebut. Operasi ini dilakukan dengan menjumlahkan komponen-komponen vektor yang sesuai. Misalnya, jika kita memiliki vektor A = [a₁, a₂, a₃] dan vektor B = [b₁, b₂, b₃], fungsi penjumlahan vektor akan menghasilkan vektor C = [a₁+b₁, a₂+b₂, a₃+b₃].
Fungsi perkalian skalar mengambil satu vektor dan satu skalar sebagai masukan, dan menghasilkan vektor keluaran yang diperoleh dengan mengalikan setiap komponen vektor dengan skalar tersebut. Misalnya, jika kita memiliki vektor A = [a₁, a₂, a₃] dan skalar k, fungsi perkalian skalar akan menghasilkan vektor B = [k⋅a₁, k⋅a₂, k⋅a₃].
Selain itu, fungsi perkalian vektor juga digunakan dalam aljabar vektor. Ada dua jenis perkalian vektor yang umum, yaitu perkalian dot (dot product) dan perkalian cross (cross product). Perkalian dot mengambil dua vektor sebagai masukan dan menghasilkan skalar keluaran yang diperoleh dengan menjumlahkan hasil perkalian komponen yang sesuai dari kedua vektor tersebut. Perkalian cross, di sisi lain, mengambil dua vektor sebagai masukan dan menghasilkan vektor keluaran yang tegak lurus terhadap kedua vektor tersebut. Hasil perkalian cross juga memiliki magnitude yang sebanding dengan luas parallelogram yang dibentuk oleh kedua vektor tersebut.
Fungsi-fungsi ini penting dalam berbagai bidang seperti fisika, matematika, dan ilmu komputer. Mereka membantu dalam memodelkan hubungan geometris dan matematis antara vektor-vektor, yang memungkinkan kita untuk memecahkan berbagai masalah yang melibatkan perhitungan dan analisis vektor
sqrt(a)
## [1] 1.000000 1.414214 1.732051 2.000000 2.236068
exp(a)
## [1] 2.718282 7.389056 20.085537 54.598150 148.413159
min(a)
## [1] 1
max(a)
## [1] 5
range(a)
## [1] 1 5
sum(a)
## [1] 15
mean(a)
## [1] 3
median(a)
## [1] 3
prod(a)
## [1] 120
sd(a)
## [1] 1.581139
r <- runif(10)
r
## [1] 0.36839473 0.09662316 0.66027523 0.13453457 0.84002915 0.58829116
## [7] 0.60039936 0.06125740 0.75229405 0.56575855
r <- rnorm(10, mean=10, sd=2)
r
## [1] 8.946724 8.075161 13.171055 9.161335 13.590436 9.558467 9.887242
## [8] 11.666913 9.719576 9.609427
set.seed(12)
runif(2)
## [1] 0.06936092 0.81777520
runif(3)
## [1] 0.9426217 0.2693819 0.1693481
runif(4)
## [1] 0.03389562 0.17878500 0.64166537 0.02287774
set.seed(12)
runif(1)
## [1] 0.06936092
runif(2)
## [1] 0.8177752 0.9426217
set.seed(12)
runif(3)
## [1] 0.06936092 0.81777520 0.94262173
runif(5)
## [1] 0.26938188 0.16934812 0.03389562 0.17878500 0.64166537
set.seed(999)
runif(3)
## [1] 0.38907138 0.58306072 0.09466569
runif(5)
## [1] 0.85263123 0.78674676 0.11934226 0.60644699 0.08095691
m <- matrix(1:6, ncol=3, nrow=2, byrow=TRUE)
m
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
m * 2
## [,1] [,2] [,3]
## [1,] 2 4 6
## [2,] 8 10 12
m^2
## [,1] [,2] [,3]
## [1,] 1 4 9
## [2,] 16 25 36
m * 1:2
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 8 10 12
m * 1:4
## Warning in m * 1:4: longer object length is not a multiple of shorter object
## length
## [,1] [,2] [,3]
## [1,] 1 6 3
## [2,] 8 20 12
m * m
## [,1] [,2] [,3]
## [1,] 1 4 9
## [2,] 16 25 36
m %*% t(m)
## [,1] [,2]
## [1,] 14 32
## [2,] 32 77