Boa tarde pessoal,
estou trabalhando com matrizes de dimensão de 3000 x 3000 em um processo iterativo e a multiplicação das mesmas tem tomado muito tempo.
Tentei utilizar a biblioteca RcppArmadillo mas não obtive ganhos de tempo. Alguém sabe me dizer o porque?
Toda ajuda é bem vinda para acelerar a multiplicação destas matrizes.
Segue abaixo um CMR:
require(Rcpp)
require(RcppArmadillo)
cppFunction(depends = "RcppArmadillo",
'arma::mat prodM(arma::mat& a, arma::mat& b) {
return(a * b); }'
)
mat <- matrix(rnorm(9e+06,30),nc=3000)
#Código em C
system.time(prodM(mat,mat))
#Código em R
system.time(mat%*%mat)
--
José Henrique Soler Guilhen
Graduando em Agronomia
Universidade Federal do Espírito Santo - CCAUFES