On 13 June 2012 at 10:57, Julian Smith wrote: | I've been toying with both RcppArmadillo and RcppEigen the past few days and | don't know which library to continue using. RcppEigen seems really slick, but | appears to be lacking some of the decompositions I want and isn't nearly as | fast to code. RcppArmadillo seems about as fast, easier to code up etc. What | are some of the advantages/disadvantages of both?
That's pretty close. I have been a fan of [Rcpp]Armadillo which I find easier to get my head around. Doug, however, moved from [Rcpp]Armadillo to [Rcpp]Eigen as it has some things he needs. Eigen should have a "larger" API than Armadillo, but I find the code and docs harder to navigate. And you should find Eigen to be a little faster. Andreas Alfons went as far as building 'robustHD' using RcppArmadillo with a drop-in for RcppEigen (in package 'sparseLTSEigen'; both package names from memmory and I may have mistyped). He reported a performance gain of around 25% for his problem sets. On the 'fastLm' benchmark, we find the fast Eigen-based decompositions to be much faster than Armadillo. | Can you call LAPACK or BLAS from either? Is there a wrapper in RcppEigen to | call LAPACK functions? Want some other decomposition methods, dont like the | JacobiSVD method in Eigen. You need to differentiate between the Eigen and Armadillo docs _for their libraries_ and what happens when you access the Rcpp* variant from R. RcppArmadillo will use the very same LAPACK and BLAS libs your R session uses. So MKL, OpenBlas, ... are all options. Eigen actually has its own code outperforming LAPACK, so it doesn't as much there. Hope this helps, Dirk (at useR!) | | ---------------------------------------------------------------------- | _______________________________________________ | Rcpp-devel mailing list | Rcpp-devel@lists.r-forge.r-project.org | https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel -- Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel