| NEWS | R Documentation |
Upgraded to Armadillo release Version 3.820 (Mt Cootha)
faster as_scalar() for compound expressions
faster transpose of small vectors
faster matrix-vector product for small vectors
faster multiplication of small fixed size matrices
Upgraded to Armadillo release Version 3.810.2
minor fix for initialisation of sparse matrices
Upgraded to Armadillo release Version 3.810.0 (Newell Highway)
added fast Fourier transform: fft()
added handling of .imbue() and .transform() by
submatrices and subcubes
added batch insertion constructors for sparse matrices
minor fix for multiplication of complex sparse matrices
Updated sample() function and test again contributed by Christian Gunning
Upgraded to Armadillo release Version 3.800.1 (Miami Beach)
workaround for a bug in ATLAS 3.8 on 64 bit systems
faster matrix-vector multiply for small matrices
Added new sample() function and tests contributed by Christian Gunning
Refactored unit testing code for faster unit test performance
Upgraded to Armadillo release Version 3.800.0 (Miami Beach)
Armadillo is now licensed using the Mozilla Public License 2.0
added .imbue() for filling a matrix/cube with values provided by a functor or lambda expression
added .swap() for swapping contents with another matrix
added .transform() for transforming a matrix/cube using a functor or lambda expression
added round() for rounding matrix elements towards nearest integer
faster find()
fixes for handling non-square matrices by qr() and qr_econ()
minor fixes for handling empty matrices
reduction of pedantic compiler warnings
Updated vignette to paper now in press at CSDA
Added CITATION file with reference to CSDA paper
Upgraded to Armadillo release Version 3.6.3
faster find()
minor fix for non-contiguous submatrix views to handle empty vectors of indices
reduction of pedantic compiler warnings
Upgraded to Armadillo release Version 3.6.2
faster determinant for matrices marked as diagonal or triangular
more fine-grained handling of 64 bit integers
Added a new example of a Kalman filter implementation in R, and C++ using Armadillo via RcppArmadillo, complete with timing comparison
Upgraded to Armadillo release Version 3.6.1 (Piazza del Duomo)
faster trace()
fix for handling sparse matrices by dot()
fixes for interactions between sparse and dense matrices
Now throws compiler error if Rcpp.h is included before
RcppArmadillo.h (as the former is included automatically by the
latter anyway, but template logic prefers this ordering).
Upgraded to Armadillo release 3.4.3
fix for aliasing issue in diagmat()
fix for speye() signature
Upgraded to Armadillo release 3.4.2
minor fixes for handling sparse submatrix views
minor speedups for sparse matrices
Upgraded to Armadillo release 3.4.1
workaround for a bug in the Mac OS X accelerate framework
fixes for handling empty sparse matrices
added documentation for saving & loading matrices in HDF5 format
faster dot() and cdot() for complex numbers
Upgraded to Armadillo release 3.4.0 (Ku De Ta)
added economical QR decomposition: qr_econ()
added .each_col() & .each_row() for vector operations repeated on each column or row
added preliminary support for sparse matrices, contributed by Ryan Curtin et al. (Georgia Institute of Technology)
faster singular value decomposition via divide-and-conquer algorithm
faster .randn()
NEWS file converted to Rd format
Upgraded to Armadillo release 3.3.91
faster singular value decomposition via "divide and conquer" algorithm
added economical QR decomposition: qr_econ()
added .each_col() & .each_row() for vector operations repeated on each column or row
added preliminary support for sparse matrices, contributed by Ryan Curtin, James Cline and Matthew Amidon (Georgia Institute of Technology)
Corrected summary method to deal with the no intercept case when using a formula; also display residual summary() statistics
Expanded unit tests for fastLm
Upgraded to Armadillo release 3.2.4
workaround for a regression (bug) in GCC 4.7.0 and 4.7.1
Upgraded to Armadillo release 3.2.3
minor correction for declaration of fixed size vectors and matrices
Reverted three header files {Mat,Row,Col}_bones.hpp back to previous release due to compilation failures under g++-4.7
Added new vignette 'RcppArmadillo-intro' based on a just-submitted introductory paper (by Eddelbuettel and Sanderson) about RcppArmadillo
Change from release 3.2.2 which we skipped as it did not really affect builds under R:
minor fix for compiling without debugging enabled (aka release mode)
better detection of ATLAS during installation on Fedora and Red Hat systems
Small enhancement to fastLm
Upgraded to Armadillo release 3.2.0 "Creamfields"
faster eigen decomposition via "divide and conquer" algorithm
faster transpose of vectors and compound expressions
faster handling of diagonal views
faster handling of tiny fixed size vectors (≤ 4 elements)
added unique(), for finding unique elements of a matrix
Upgraded to Armadillo release 3.1.94 "v3.2 beta 2"
added unique(), for finding unique elements of a matrix
faster eigen decomposition via "divide and conquer" algorithm
faster transpose of vectors and compound expressions
faster handling of tiny fixed size vectors (≤ 4 elements)
Upgraded to Armadillo release 3.1.92 "v3.2 beta 2"
added unique(), for finding unique elements of a matrix
faster eigen decomposition via optional use of "divide and conquer" by eig_sym()
faster transpose of vectors and compound expressions
Upgraded to Armadillo release 3.0.3
fixes for inplace transpose of complex number matrices
fixes for complex number version of svd_econ()
fixes for potential aliasing issues with submatrix views
New example script fastLm
Upgraded to Armadillo release 3.0.2
fixes for handling diagonal matrices
Undefine NDEBUG if it has been set (as R does) as this prevents a number of useful debugging checks. Users can still define it or define ARMA_NO_DEBUG if they want a 'non-development' build
Upgraded to Armadillo release 3.0.1
fixes for compilation errors
fixes for potential aliasing issues
Upgraded to Armadillo release 3.0.0 "Antarctic Chilli Ranch"
added non-contiguous submatrix views
added shorthand for inverse: .i()
added hist() and histc()
faster repmat()
faster handling of submatrix views with one row or column
faster generation of random numbers
faster element access in fixed size matrices
better detection of vector expressions by sum(), cumsum(), prod(), min(), max(), mean(), median(), stddev(), var()
expressions X=A.i()*B and X=inv(A)*B are automatically converted to X=solve(A,B)
Upgraded to Armadillo release 2.99.4 "Antarctic Chilli Ranch (Beta 4)"
fixes for handling expressions with fixed size matrices
Upgraded to Armadillo release 2.99.3 "Antarctic Chilli Ranch (Beta 3)"
faster repmat()
workarounds for braindead compilers (eg. Visual Studio)
Upgraded to Armadillo release 2.99.2 "Antarctic Chilli Ranch (Beta 2)"
added .i()
much faster handling of .col() and .row()
expressions X=A.i()*B and X=inv(A)*B are automatically converted to X=solve(A,B)
Upgraded to Armadillo release 2.99.1 "Antarctic Chilli Ranch (Beta 1)"
added non-contiguous submatrix views
added hist() and histc()
faster handling of submatrix views
faster generation of random numbers
faster element access in fixed size matrices
better detection of vector expressions by sum(), cumsum(), prod(), min(), max(), mean(), median(), stddev(), var()
Upgraded to Armadillo release 2.4.4
fixes for qr() and syl()
more portable wall_clock class
faster relational operators on submatrices
Upgraded to Armadillo release 2.4.3
Support for ARMA_DEFAULT_OSTREAM using Rcpp::Rcout added
Minor bug fix release improving corner cases affecting builds:
Missing semicolon added in Mat_meat (when in C++0x mode), with thanks to Teo Guo Ci
Armadillo version vars now instantiated in RcppArmadillo.cpp which helps older g++ versions, with thanks to Gershon Bialer
Thanks also to Martin Renner for testing these changes
Unit tests output fallback directory changed per Brian Ripley's request to not ever use /tmp
Minor update to version numbers in RcppArmadillo-package.Rd
Upgraded to Armadillo release 2.4.2
clarified documentation for .reshape()
fix for handling of empty matrices by .resize()
Upgraded to Armadillo release 2.4.1
added .resize()
fix for vector initialisation
Upgraded to Armadillo test release 2.4.0 "Loco Lounge Lizard"
Minimal changes relative to 0.2.31 based on 2.3.92, next section is relative to the previous stable release series 2.2.* of Armadillo
added shorter forms of transposes: .t() and .st()
added optional use of 64 bit indices, allowing matrices to have more than 4 billion elements
added experimental support for C++11 initialiser lists
faster pinv()
faster inplace transpose
faster handling of expressions with diagonal views
fixes for handling expressions with aliasing and submatrices
fixes for linking on Ubuntu and Debian systems
fixes for inconsistencies in interactions between matrices and cubes
refactored code to eliminate warnings when using the Clang C++ compiler
.print_trans() and .raw_print_trans() are deprecated
Upgraded to Armadillo test release 2.3.92 "Loco Lounge Lizard (Beta 2)"
fixes for linking on Ubuntu and Debian systems
fixes for inconsistencies in interactions between matrices and cubes
Upgraded to Armadillo test release 2.3.91 "Loco Lounge Lizard (Beta 1)"
added shorter forms of transposes: .t() and .st()
added optional use of 64 bit indices, allowing matrices to have more than 4 billion elements
added experimental support for C++11 initialiser lists
faster pinv()
faster inplace transpose
bugfixes for handling expressions with aliasing and submatrices
refactored code to eliminate warnings when using the Clang C++ compiler
.print_trans() and .raw_print_trans() are deprecated
Upgraded to Armadillo release 2.2.3
Release fixes a speed issue in the as_scalar() function.
Upgraded to Armadillo release 2.2.1 "Blue Skies Debauchery"
faster multiplication of small matrices
faster trans()
faster handling of submatrices by norm()
added economical singular value decomposition: svd_thin()
added circ_toeplitz()
added .is_colvec() & .is_rowvec()
fixes for handling of complex numbers by cov(), cor(), running_stat_vec
Upgraded to Armadillo release 2.1.91 "v2.2 beta 1"
faster multiplication of small matrices
faster trans()
faster handling of submatrices by norm()
added economical singular value decomposition: svd_thin()
added circ_toeplitz()
added .is_colvec() & .is_rowvec()
Upgraded to Armadillo release 2.0.2
fix for handling of conjugate transpose by as_scalar()
fix for handling of aliasing by diagmat()
fix for handling of empty matrices by symmatu()/symmatl()
Upgraded to Armadillo 2.0.1 which fixes two minor compilation issues
Upgraded to Armadillo release 2.0.0 "Carnivorous Sugar Glider"
faster multiplication of tiny matrices (≤ 4x4)
faster compound expressions containing submatrices
faster inverse of symmetric positive definite matrices
faster element access for fixed size matrices
added handling of arbitrarily sized empty matrices (eg. 5x0)
added loading & saving of matrices as CSV text files
added .count() member function to running_stat and running_stat_vec
added syl(), strans(), symmatu()/symmatl()
added submatrices of submatrices
det(), inv() and solve() can be forced to use more precise
algorithms for tiny matrices (≤ 4x4)
htrans() has been deprecated; use trans() instead
API change: trans() now takes the complex conjugate when transposing a complex matrix
API change: .is_vec() now outputs true for empty vectors (eg. 0x1)
API change: forms of chol(), eig_sym(), eig_gen(), inv(), lu(), pinv(), princomp(), qr(), solve(), svd(), syl() that do not return a bool indicating success now throw std::runtime_error exceptions when failures are detected
API change: princomp_cov() has been removed; princomp() in conjunction with cov() can be used instead
API change: set_log_stream() & get_log_stream() have been replaced by set_stream_err1() & get_stream_err1()
Upgraded to Armadillo release 1.99.5 "v2.0 beta 5"
Forms of chol(), eig_sym(), eig_gen(), inv(), lu(), pinv(), princomp(), qr(), solve(), svd(), syl() that do not return a bool indicating success now throw std::runtime_error exceptions when failures are detected
princomp_cov() has been removed; princomp() in conjunction with cov() can be used instead
set_log_stream() & get_log_stream() have been replaced by set_stream_err1() & get_stream_err1()
det(), inv() and solve() can be forced to use more precise algorithms for tiny matrices (≤ 4x4)
Added loading & saving of matrices as CSV text files
fastLmPure() now uses same argument order as R's lm.fit()
Export and document S3 methods in NAMESPACE and manual page as such
Upgraded to Armadillo release 1.99.4 "v2.0 beta 4"
fixes for handling of tiny matrices
Upgraded to Armadillo release 1.99.3 "v2.0 beta 3"
stricter size checking for row and column vectors
added .count() member function to running_stat and running_stat_vec
Upgraded to Armadillo release 1.99.2 "v2.0 beta 2" (and 1.99.1 before)
faster inverse of symmetric matrices
faster element access for fixed size matrices
faster multiplication of tiny matrices (eg. 4x4)
faster compund expressions containing submatrices
added handling of arbitrarily sized empty matrices (eg. 5x0)
added syl()
added strans()
added symmatu()/symmatl()
added submatrices of submatrices
htrans() has been deprecated; use trans() instead
trans() now takes the complex conjugate when transposing a complex matrix
.is_vec() now outputs true for empty matrices
most functions with matrix inputs no longer throw exceptions when given empty matrices (eg. 5x0)
Added a new subdirectory examples/ seeded with a nice Vector Autoregression simulation simulation example by Lance Bachmeier
Rewrote armadillo_version as to no longer require an instance of arma::arma_version, with tanks to Conrad for the suggestion
Upgraded to Armadillo version 1.2.0 "Unscrupulous Carbon Emitter"
Added ability to use Blas & Lapack libraries with capitalised function names
Reduction of pedantic compiler warnings
Upgraded to Armadillo version 1.1.92 "Jurassic Barbecue"
Bugfix in cor()
Automatic installation now requires CMake >= 2.6
Upgraded to Armadillo version 1.1.90 "Inside Job"
Added .min() & .max(), which can provide the extremum's location
More robust mean(), var(), stddev()
Upgraded to Armadillo version 1.1.8 "Kangaroo Steak"
Added floor() and ceil()
Added “not a number”: math::nan()
Added infinity: math::inf()
Added standalone is_finite()
Faster min(), max(), mean()
Bugfix for a corner case with NaNs in min() and max()
Upgraded to Armadillo version 1.1.6 “Baby Carpet Shark”
fixed size matrices and vectors can use auxiliary (external) memory
.in_range() can use span() arguments
subfields can use span() arguments
Support Run-Time Type Information (RTTI) on matrices by setting the state variable vec_state in Row and Col instantiation, with thanks to Conrad Sanderson for the hint
fastLm code simplified further by instantiating the Armadillo matrix and vector directly from the SEXP coming from R
inst/doc/Makefile now respects $R_HOME environment variable
Upgraded to Armadillo version 1.1.4 “Manta Lodge”
Faster sort()
Updated installation to detect recent versions of Intel's MKL
Added interpretation of arbitrary "flat" subcubes as matrices
Upgraded to Armadillo version 1.1.2 “Flood Kayak”
Faster prod()
Faster solve() for compound expressions
Fix for compilation using GCC's C++0x mode
Fix for matrix handling by subcubes
Upgraded to Armadillo version 1.1.0 “Climate Vandal”
Extended submatrix views, including access to elements whose indices are specified in a separate vector
Added handling of raw binary files by save/load functions
Added cumsum()
Added interpretation of matrices as triangular via trimatu()/trimatl()
Faster solve(), inv() via explicit handling of triangular matrices
The stream for logging of errors and warnings can now be changed
New unexported R function SHLIB, a small wrapper around R CMD SHLIB, which can be used as Rscript -e "RcppArmadillo:::SHLIB('foo.cpp')"
Upgraded to Armadillo 1.0.0 "Antipodean Antileech"
After 2 1/2 years of collaborative development, we are proud to release the 1.0 milestone version.
Many thanks are extended to all contributors and bug reporters.
R/RcppArmadillo.package.skeleton.R: Updated to no longer rely on GNU make for builds of packages using RcppArmadillo
summary() for fastLm() objects now returns r.squared and adj.r.squared
Upgraded to Armadillo 0.9.92 "Wall Street Gangster":
Fixes for compilation issues under the Intel C++ compiler
Added matrix norms
Upgraded to Armadillo 0.9.90 "Water Dragon":
Added unsafe_col()
Speedups and bugfixes in lu()
Minimisation of pedantic compiler warnings
Switched NEWS and ChangeLog between inst/ and the top-level directory so that NEWS (this file) gets installed with the package
Upgraded to Armadillo 0.9.80 "Chihuahua Muncher":
Added join_slices(), insert_slices(), shed_slices()
Added in-place operations on diagonals
Various speedups due to internal architecture improvements
Upgraded to Armadillo 0.9.70 "Subtropical Winter Safari"
arma::Mat, arma::Row and arma::Col get constructor that take vector or matrix sugar expressions. See the unit test "test.armadillo.sugar.ctor" and "test.armadillo.sugar.matrix.ctor" for examples.
Upgraded to Armadillo 0.9.60 "Killer Bush Turkey"
Upgraded to Armadillo 0.9.52 'Monkey Wrench'
src/fastLm.cpp: Switch from inv() to pinv() as inv() now tests for singular matrices and warns and returns an empty matrix which stops the example fastLm() implementation on the manual page – and while this is generally reasonably it makes sense here to continue which the Moore-Penrose pseudo-inverse allows us to do this
Better configuration to detect suncc (which does not have std::isfinite)
Added RcppArmadillo:::CxxFlags for cases where RcppArmadillo is not used via a package
Upgraded to Armadillo 0.9.10 'Chilli Espresso'
Wrap support for mtOp, i.e. operations involving mixed types such as a complex and an arma::mat, which have been introduced in armadillo 0.9.10
Wrap support for mtGlue, i.e. operations involving matrices of mixed types such as an arma::mat and an arma::imat, which have been introduced in armadillo 0.9.10
Included an inline plugin to support the plugin system introduced in inline 0.3.5. The unit tests have moved from the src directory to the unit test directory (similar to Rcpp) using cxxfunction with the RcppArmadillo plugin.
Bug-fix release permitting compilation on Windows
fastLm() is now generic and has a formula interface as well as methods for print, summary, predict to behave like a standard model fitting function
Armadillo sources (using release 0.9.8) are now included in the package using a standardized build suitable for our purposes (not assuming Boost or Atlas) – see ?RcppArmadillo for details
New R function RcppArmadillo.package.skeleton, similar to Rcpp::Rcpp.package.skeleton, but targetting use of RcppArmadillo
the fastLm() implementation of a bare-bones lm() fit (using Armadillo's solve() function) provides an example of how efficient code can be written compactly using the combination of Rcpp, RcppAramadillo and Armadillo
support for Rcpp implicit wrap of these types : Mat<T>, Col<T>, Row<T>, Cube<T> where T is one of : int, unsigned int, double, float
support for Rcpp implicit as of these types : Mat<T>, Col<T>, Row<T> where R is one of : int, unsigned int, double, float