'Rcpp' Integration for the 'Armadillo' Templated Linear Algebra
Library

'Armadillo' is a templated C++ linear algebra library (by Conrad
Sanderson) that aims towards a good balance between speed and ease of
use. Integer, floating point and complex numbers are supported, as
well as a subset of trigonometric and statistics functions. Various
matrix decompositions are provided through optional integration with
LAPACK and ATLAS libraries. The 'RcppArmadillo' package includes the
header files from the templated 'Armadillo' library. Thus users do
not need to install 'Armadillo' itself in order to use
'RcppArmadillo'. From release 7.800.0 on, 'Armadillo' is licensed
under Apache License 2; previous releases were under licensed as MPL
2.0 from version 3.800.0 onwards and LGPL-3 prior to that;
'RcppArmadillo' (the 'Rcpp' bindings/bridge to Armadillo) is licensed
under the GNU GPL version 2 or later, as is the rest of 'Rcpp'.
Armadillo requires a C++11 compiler.

R and Armadillo via Rcpp

Overview

Armadillo is a templated C++ linear algebra library
written by Conrad Sanderson that aims towards a good balance between speed and ease of use. Integer,
floating point and complex numbers are supported, as well as a subset of
trigonometric and statistics functions. Various matrix decompositions are
provided through optional integration with LAPACK and ATLAS libraries.

A delayed evaluation approach is employed (during compile time) to combine
several operations into one, and to reduce (or eliminate) the need for
temporaries. This is accomplished through recursive templates and template
meta-programming.

This library is useful if C++ has been decided as the language of choice
(due to speed and/or integration capabilities), rather than another language.

The RcppArmadillo package includes the header files from the templated
Armadillo library. Thus users do not need to install Armadillo itself in
order to use RcppArmadillo.

This Armadillo integration provides a nice illustration of the
capabilities of the Rcpp package for seamless R and
C++ integration.

Status

The package is under active development with releases to
CRAN about once every other month, and
widely-used by other CRAN packages as can be seen from the
CRAN package page.

Documentation

The package contains a pdf vignette which is a pre-print of the
paper by Eddelbuettel and Sanderson
in CSDA (2014), as well as an introductory vignette for the sparse
matrix conversions.

Authors

Dirk Eddelbuettel, Romain Francois, Doug Bates and Binxiang Ni