Operasi Dasar Elementer Gauss – Jordan

April 16, 2013
By

This post was kindly contributed by Bahasa R (The R Language) - go there to comment and to read the full post.

Operasi dasar elementer (ODE) pada matriks seringkali digunakan untuk mendapatkan matriks setara dengan matriks asal.  Sehingga ODE ini seringkali digunakan untuk mencari determinan atau kebalikan matriks.  Prinsipnya adalah dengan mengenakan ODE pada matriks asal sehinggan menjadi matriks setera yang mudah dicari determinannya, misalkan dengan menjadikannya matriks diagonal, yang mana determinannya dicari dengan mengalikan elemen-elemen diagonal utama.

Berikut ini adalah program R untuk melakukan ODE tersebut.
function(x, baris=TRUE){ list( x.asal<<-x, tukar = function(i, j) { if (is.matrix(x)){ if (baris) { ind <- diag(nrow(x)) } else ind <- diag(ncol(x)) } else stop("Objek harus dalam mode matriks") te <- ind[i,]; ind[i,] <- ind[j,]; ind[j,] <- te if (baris) { x <<- ind%*%x } else x <<- x%*%ind return(x) }, kali = function(i, k) { if (is.matrix(x)){ if (baris) { ind <- diag(nrow(x)) } else ind <- diag(ncol(x)) } else stop("Objek harus dalam mode matriks") ind[i,] <- k*ind[i,] if (baris) x <<- ind %*% x else x <<- x %*% ind return(x) }, lipat = function(i, j, k) { if (is.matrix(x)){ if (baris) { ind <- diag(nrow(x)) } else ind <- diag(ncol(x)) } else stop("Objek harus dalam mode matriks") if (baris) { ind[j,i] <- k x <<- ind %*% x} else { ind[i,j] <- k x <<- x %*% ind} return(x) }, hasil = function(){ x.setara <- x; has<-list(Matriks.Asal=x.asal, Matriks.Setara=x.setara) return(has) } ) }

Comments are closed.