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