RcppArmadillo : accelerating R with high-performance C++ linear algebra
Data(s) |
01/03/2014
|
---|---|
Resumo |
The R statistical environment and language has demonstrated particular strengths for interactive development of statistical algorithms, as well as data modelling and visualisation. Its current implementation has an interpreter at its core which may result in a performance penalty in comparison to directly executing user algorithms in the native machine code of the host CPU. In contrast, the C++ language has no built-in visualisation capabilities, handling of linear algebra or even basic statistical algorithms; however, user programs are converted to high-performance machine code, ahead of execution. A new method avoids possible speed penalties in R by using the Rcpp extension package in conjunction with the Armadillo C++ matrix library. In addition to the inherent performance advantages of compiled code, Armadillo provides an easy-to-use template-based meta-programming framework, allowing the automatic pooling of several linear algebra operations into one, which in turn can lead to further speedups. With the aid of Rcpp and Armadillo, conversion of linear algebra centered algorithms from R to C++ becomes straightforward. The algorithms retains the overall structure as well as readability, all while maintaining a bidirectional link with the host R environment. Empirical timing comparisons of R and C++ implementations of a Kalman filtering algorithm indicate a speedup of several orders of magnitude. |
Formato |
application/pdf |
Identificador | |
Publicador |
Elsevier |
Relação |
http://eprints.qut.edu.au/57210/1/eddelbuettel_rcpp_armadillo_csda_2013.pdf DOI:10.1016/j.csda.2013.02.005 Eddelbuettel, Dirk & Sanderson, Conrad (2014) RcppArmadillo : accelerating R with high-performance C++ linear algebra. Computational Statistics & Data Analysis, 71, pp. 1054-1063. |
Direitos |
Copyright 2013 Elsevier B.V. NOTICE: this is the author’s version of a work that was accepted for publication in Computational Statistics & Data Analysis. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in Computational Statistics & Data Analysis, [Volume 71, (March 2014)] DOI: 10.1016/j.csda.2013.02.005 |
Fonte |
Faculty of Science and Technology |
Palavras-Chave | #010300 NUMERICAL AND COMPUTATIONAL MATHEMATICS #010401 Applied Statistics #010406 Stochastic Analysis and Modelling #080204 Mathematical Software #080205 Numerical Computation #080306 Open Software #090609 Signal Processing #linear algebra #C++ #R #software #statistics #meta-programming |
Tipo |
Journal Article |