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
acts as a bridge between Rcpp
and Armadillo
,
allowing the programmer to write code using Armadillo classes that integrate
seemlessly with R
via Rcpp
.RcppArmadillo
. This can be done conveniently by the
RcppArmadillo.package.skeleton
function. The important steps are
RcppArmadillo.h
header file, which also includes
armadillo.h
.
Imports: Rcpp (>= 0.11.0) LinkingTo: Rcpp, RcppArmadillo
Makevars
and Makevars.win
files:
PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
Conrad Sanderson, Armadillo: An Open Source C++ Linear Algebra Library for Fast Prototyping and Computationally Intensive Experiments. Technical Report, NICTA, 2010.
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, http://dx.doi.org/10.1016/j.csda.2013.02.005. )