Learn R Programming

RcppArmadillo (version 15.2.4-1)

RcppArmadillo-package: R and Armadillo Integration

Description

The package brings the power of Armadillo to R.

Arguments

Armadillo

Armadillo is a C++ linear algebra library, aiming towards a good balance between speed and ease of use.

It provides efficient classes for vectors, matrices and cubes, as well as many functions which operate on the classes (eg. contiguous and non-contiguous submatrix views).

Various matrix decompositions are provided, and an automatic expression evaluator (via template meta-programming) combines several operations to increase efficiency.

The syntax (API) is deliberately similar to Matlab. It is useful for algorithm development directly in C++, or quick conversion of research code into production environments.

Armadillo has been primarily developed at NICTA (Australia) by Conrad Sanderson, with contributions from around the world.

RcppArmadillo

RcppArmadillo acts as a bridge between Rcpp and Armadillo, allowing the programmer to write code using Armadillo classes that integrate seemlessly with R via Rcpp.

Using RcppArmadillo

The simplest way to get started is to create a skeleton of a package using RcppArmadillo. This can be done conveniently by the RcppArmadillo.package.skeleton function.

Threading

The Armadillo library can take advantage of OpenMP to execute computations in parallel via multi-threaded code. The number of cores uses can be set (or retrieved) explicitly via helper functions armadillo_get_number_of_omp+threads() and armadillo_set_number_of_omp_threads(). A default value is stored at package startup; it recognises R option value Ncpus and environment variable OMP_THREAD_LIMIT. Additional helper functions armadillo_throttle_cores() and armadillo_reset_cores() are available to (temporarily) lower the number of cores uses and to reset to the package default value set at startup.

Author

For RcppArmadillo: Dirk Eddelbuettel, Romain Francois, Doug Bates and Binxiang Ni

Maintainer: Dirk Eddelbuettel <edd@debian.org>

For Armadillo: Conrad Sanderson

References

Armadillo project: https://arma.sourceforge.net/

Conrad Sanderson and Ryan Curtin. Armadillo: a template-based C++ library for linear algebra. Journal of Open Source Software, Vol. 1, pp. 26, 2016.

Dirk Eddelbuettel and Conrad Sanderson, "RcppArmadillo: Accelerating R with high-performance C++ linear algebra", Computational Statistics and Data Analysis, 2014, 71, March, pages 1054-1063, tools:::Rd_expr_doi("10.1016/j.csda.2013.02.005").