Thu, 20 May 2010

RcppArmadillo 0.2.0 (and 0.2.1)

With the Rcpp 0.8.0 release on Monday, Romain, Doug and I were able to follow-up with a new RcppArmadillo release. RcppArmadillo uses Rcpp (and a few dozen lines of 'glue') to provide a transparent interface from R to Conrad Sanderson's impressive Armadillo library for linear algebra.

This new release offers a number of key improvements:

  • Headers-only: given that Armadillo is a C++ template library, we now ship its headers in the package. In the previous release, we required Armadillo to be built as a library. As this Armadillo library mostly provides things we get from R for free (such as access to Blas, where available), we can do without it and stick to templates-only. The upside is that the usage requirements for RcppArmadillo have become much simpler: R, a C++ compiler and Rcpp. In practice, this also means that Windows users will now get pre-built binaries via CRAN
  • Update to Armadillo 0.9.8: We added the headers from Conrad's most recent release.
  • The fastLm() function is now generic and provides a default and formula interface just like lm() along with standard methods print, summary and predict. The documentation is enhanced as well and now contains an example of a rank-deficient model matrix where the non-pivoting scheme of fastLm() fails.
  • Doug Bates joined Romain and myself as an author of RcppArmadillo

While we had tested this quite rigourously, the combination of some last minute changes that were meant to be stylistic-only, some troubles with the tests and builds at CRAN that were not apparent in all our tests (hint: do not yet use dynamic help features referencing other packages even if you have a Depends: on them) and an upcoming travel deadline meant that we missed a gotcha on Windows---so release 0.2.1 had to follow a few hours after the short-lived 0.2.0.

More information is on the RcppArmadillo page. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page.

/code/rcpp | permanent link