RcppArmadillo-package {RcppArmadillo} | R Documentation |
R and Armadillo Integration
Description
The package brings the power of Armadillo to R.
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.
The important steps are
Include the
RcppArmadillo.h
header file, which also includesarmadillo.h
.Import Rcpp, and LinkingTo Rcpp and RcppArmadillo by adding these lines to the DESCRIPTION file:
Imports: Rcpp (>= 0.11.0) LinkingTo: Rcpp, RcppArmadillo
Link against the BLAS and LAPACK libraries, by adding this line in the
Makevars
andMakevars.win
files:PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
Support
Please use the Rcpp-devel mailing list on r-forge for questions about RcppArmadillo (subscribe first). https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
Author(s)
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, doi:10.1016/j.csda.2013.02.005. )