Terdapat tiga buah operasi dasar pada baris matriksoperasi baris elementer. Ketiga operasi dasar tersebut adalah :
Row Scaling: Melibatkan perkalian semua elemen dalam baris matriks dengan suatu konstanta yang bukan nol. Row Swapping: Melibatkan pertukaran urutan baris dalam matriks (misalnya, menukar baris 1 dengan baris 2 dan sebaliknya). Row Replacement: Melibatkan penggantian sebuah baris dalam matriks dengan hasil penjumlahan atau pengurangan baris tersebut dengan baris matriks lainnya. Baris matriks lainnya yang digunakan dalam penjumlahan/pengurangan tersebut telah melalui proses row scaling sebelumnya.
Dalam R, row scaling dapat dituliskan dengan sintaks sebagai berikut:
scale_row <- function(m, row, k){
m[row, ]<- m[row, ]*k
return(m)
}
Contoh Penggunaan:
(A <- matrix(1:10, nrow=5))
## [,1] [,2]
## [1,] 1 6
## [2,] 2 7
## [3,] 3 8
## [4,] 4 9
## [5,] 5 10
atau
scale_row(m=A, row=2, 15)
## [,1] [,2]
## [1,] 1 6
## [2,] 30 105
## [3,] 3 8
## [4,] 4 9
## [5,] 5 10
Row swapping melibatkan pertukaran baris secara berulang. Oleh karena itu, penting untuk menyimpan baris matriks pertama ke dalam sebuah objek sebelum dilakukan row swapping. Dalam R, row swapping dapat diimplementasikan dengan menggunakan sintaks berikut ini:
swap_row <- function(m, row1, row2){
row_tmp <- m[row1, ]
m[row1, ] <- m[row2, ]
m[row2, ] <- row_tmp
return(m)
}
Contoh pada penggunaan sintaks
swap_row(m=A, row1=2, row2=4)
## [,1] [,2]
## [1,] 1 6
## [2,] 4 9
## [3,] 3 8
## [4,] 2 7
## [5,] 5 10
Sintaks row replacement :
replace_row <- function(m, row1, row2, k){
m[row2, ] <- m[row2, ] + m[row1, ]*k
return(m)
}
Contoh penggunaan pada sintaks
replace_row(m=A, row1=1, row2=3, k=-3)
## [,1] [,2]
## [1,] 1 6
## [2,] 2 7
## [3,] 0 -10
## [4,] 4 9
## [5,] 5 10