<div dir="ltr"><div>Boa tarde pessoal,</div><div><br></div><div>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.</div><div><br></div><div>
Tentei utilizar a biblioteca RcppArmadillo mas não obtive ganhos de tempo. Alguém sabe me dizer o porque?</div><div><br></div><div>Toda ajuda é bem vinda para acelerar a multiplicação destas matrizes.</div><div><br></div>
<div><br></div><div>Segue abaixo um CMR:</div><div><br></div><div>require(Rcpp)</div><div>require(RcppArmadillo)</div><div><br></div><div>cppFunction(depends = "RcppArmadillo",</div><div> 'arma::mat prodM(arma::mat& a, arma::mat& b) { </div>
<div> return(a * b); }'</div><div>)</div><div><br></div><div>mat <- matrix(rnorm(9e+06,30),nc=3000)</div><div><br></div><div>#Código em C </div><div>system.time(prodM(mat,mat))</div><div><br></div><div>#Código em R</div>
<div>system.time(mat%*%mat)</div><div><br></div>-- <br><div style="text-align:center"><font><b>José Henrique Soler Guilhen</b></font><br><font>Graduando em Agronomia</font><font style="font-size:10pt" face="Verdana"></font><br>
</div><div style="text-align:center"><font style="font-size:10pt" face="Verdana"><font style="font-size:10pt">Universidade Federal do Espírito Santo - CCAUFES</font></font><br></div><font style="font-size:10pt" face="Verdana"><br>
</font>
</div>