| NEWS | R Documentation | 
News for Package RcppArmadillo
Changes in RcppArmadillo version 15.0.2-2 (2025-09-18)
- Minor update to skeleton - Makevars,- Makevars.win
- Update README.md to mention ldlasb2 repository 
- Minor documentation update (#487) 
- Synchronized with Armadillo upstream (#488) 
- Refine Armadillo version selection in coordination with CRAN maintainers to support transition towards Armadillo 15.0.* 
Changes in RcppArmadillo version 15.0.2-1 (2025-09-08)
- Upgraded to Armadillo release 15.0.2-1 (Medium Roast) - Optionally use OpenMP parallelisation for fp16 matrix multiplication 
- Faster vectorisation of cube tubes 
 
- Provide a top-level include file - armadilloas fallback (#480)
- Retire the no-longer-needed check for insufficient LAPACK as R now should supply a sufficient libRlapack (when used) (#483) 
- Two potential narrowing warnings are avoided via cast 
Changes in RcppArmadillo version 15.0.1-1 (2025-09-01)
- Upgraded to Armadillo release 15.0.1-1 (Medium Roast) - Workaround for GCC compiler bug involving misoptimisation of complex number multiplication 
 
- This version contains both 'legacy' and 'current' version of Armadillo (see also below). Package authors should set a '#define' to select the 'current' version, or select the 'legacy' version (also chosen as default) if they must. See 'GitHub issue #475' for more details. 
- Updated DESCRIPTION and README.md 
Changes in RcppArmadillo version 15.0.0-1 (2025-08-21) (GitHub Only)
- Upgraded to Armadillo release 15.0.0-1 (Medium Roast) - C++14 is now the minimum required C++ standard 
- Aded preliminary support for matrices with half-precision fp16 element type 
- Added second form of - cond()to allow detection of failures
- Added - repcube()
- Added - .freeze()and- .unfreeze()member functions to- wall_clock
- Extended - conv()and- conv2()to accept the "valid" shape argument
 
- Also includes Armadillo 14.6.3 as fallback for C++11 compilations 
- This new 'dual' setup had been rigorously tested with five interim pre-releases of which several received full reverse-dependency checks 
Changes in RcppArmadillo version 14.6.3-1 (2025-08-14)
- Upgraded to Armadillo release 14.6.3 (Caffe Mocha) - Fix OpenMP related crashes in - Cube::slice()on Arm64 CPUs
 
Changes in RcppArmadillo version 14.6.2-1 (2025-08-09) (GitHub Only)
- Upgraded to Armadillo release 14.6.2 (Caffe Mocha) - Fix for corner-case speed regression in - sum()
- Better handling of OpenMP in - omit_nan()and- omit_nonfinite()
 
Changes in RcppArmadillo version 14.6.1-1 (2025-07-21) (GitHub Only)
- Upgraded to Armadillo release 14.6.1 (Caffe Mocha) - Fix for speed regression in - mean()
- Fix for detection of compiler configuration 
- Use of - powoptimization now optional
 
Changes in RcppArmadillo version 14.6.0-1 (2025-07-02)
- Upgraded to Armadillo release 14.6.0 (Caffe Mocha) - Added - balance()to transform matrices so that column and row norms are roughly the same
- Added - omit_nan()and- omit_nonfinite()to extract elements while omitting NaN and non-finite values
- Added - find_nonnan()for finding indices of non-NaN elements
- Added standalone - replace()function
 
- The - fastLm()help page now mentions that options to- solve()can control its behavior.
Changes in RcppArmadillo version 14.4.3-1 (2025-05-21)
- Upgraded to Armadillo release 14.4.3 (Filtered Espresso) - Fix for several corner cases involving handling of non-finite elements by sparse matrices 
 
Changes in RcppArmadillo version 14.4.2-1 (2025-04-25)
- Upgraded to Armadillo release 14.4.2 (Filtered Espresso) - Fix for - expmat()
- Workaround for bugs in clang 20 compiler 
 
- Micro-cleanup in one test file 
Changes in RcppArmadillo version 14.4.1-1 (2025-03-27)
- Upgraded to Armadillo release 14.4.1 (Filtered Espresso) - Fix for - fft()and- ifft()when using FFTW3 in multi-threaded contexts (such as OpenMP)
 
Changes in RcppArmadillo version 14.4.0-1 (2025-03-17)
- CRAN release having given a few packages time to catch-up to small upstream change as discussed and managed in #462 
- Updated bibliography, and small edits to sparse matrix vignette 
- Switched continuous integration action to r-ci with implicit bootstrap 
Changes in RcppArmadillo version 14.4.0-0 (2025-02-17) (GitHub Only)
- Upgraded to Armadillo release 14.4.0 (Filtered Espresso) - Faster handling of - pow()and- square()within- accu()and- sum()expressions
- Faster - sort()and- sort_index()for complex matrices
- Expanded the field class with - .reshape()and- .resize()member functions
- More efficient handling of compound expressions by - sum(),- reshape(),- trans()
- Better detection of vector expressions by - pow(),- imag(),- conj()
 
- The package generator helper function now supports additional DESCRIPTIONs 
- This release revealed a need for very minor changes for a handful reverse-dependency packages which will be organized via GitHub issue tracking 
Changes in RcppArmadillo version 14.2.3-1 (2025-02-05)
- Upgraded to Armadillo release 14.2.3 (Smooth Caffeine) - Minor fix for declaration of - xSYCONand- xHECONfunctions in LAPACK
- Fix for rare corner-case in - reshape()
 
Changes in RcppArmadillo version 14.2.2-1 (2024-12-05)
- Upgraded to Armadillo release 14.2.2 (Smooth Caffeine) - Workarounds for regressions in pre-release versions of GCC 15 
- More selective detection of symmetric/hermitian matrices by various functions 
 
Changes in RcppArmadillo version 14.2.1-1 (2024-11-24) (GitHub Only)
- Upgraded to Armadillo release 14.2.1 (Smooth Caffeine) - Fix for - index_min()and- index_max()to ensure that the first index of equal extremum values is found
 
Changes in RcppArmadillo version 14.2.0-1 (2024-11-16)
- Upgraded to Armadillo release 14.2.0 (Smooth Caffeine) - Faster handling of symmetric matrices by - inv()and- rcond()
- Faster handling of hermitian matrices by - inv(),- rcond(),- cond(),- pinv(),- rank()
- Added - solve_opts::force_symoption to- solve()to force the use of the symmetric solver
- More efficient handling of compound expressions by - solve()
 
- Added exporter specialisation for - icubefor the- ARMA_64BIT_WORDcase
Changes in RcppArmadillo version 14.0.2-1 (2024-09-11)
- Upgraded to Armadillo release 14.0.2 (Stochastic Parrot) - Optionally use C++20 memory alignment 
- Minor corrections for several corner-cases 
 
- The order of items displayed by - citation()is reversed (Conrad in #449)
- The DESCRIPTION file now uses an Authors@R field with ORCID IDs 
Changes in RcppArmadillo version 14.0.0-1 (2024-07-05)
- Upgraded to Armadillo release 14.0.0 (Stochastic Parrot) - C++14 is now the minimum recommended C++ standard 
- Faster handling of compound expressions by - as_scalar(),- accu(),- dot()
- Faster interactions between sparse and dense matrices 
- Expanded - stddev()to handle sparse matrices
- Expanded relational operators to handle expressions between sparse matrices and scalars 
- Added - .as_dense()to obtain dense vector/matrix representation of any sparse matrix expression
- Updated physical constants to NIST 2022 CODATA values 
 
- New package version numbering scheme following upstream versions 
- Re-enabling - ARMA_IGNORE_DEPRECATED_MARKEfor silent CRAN builds
Changes in RcppArmadillo version 0.12.8.4.0 (2024-05-30)
- Upgraded to Armadillo release 12.8.4 (Cortisol Injector) - Faster handling of sparse submatrix views 
 
- Update versioned Depends on Rcpp to 1.0.8 or later to match use of Light/Lighter/Lightest headers. 
Changes in RcppArmadillo version 0.12.8.3.0 (2024-05-07)
- Upgraded to Armadillo release 12.8.3 (Cortisol Injector) - Fix issue in - fft()and- fft2()in multi-threaded contexts with FFTW3 enabled
 
- No longer set C++11 for the Rcpp plugin as this standard has been the default by R for very long time now. 
Changes in RcppArmadillo version 0.12.8.2.1 (2024-04-15)
- One-char bug fix release commenting out one test that upsets reticulate when accessing a scipy sparse matrix 
Changes in RcppArmadillo version 0.12.8.2.0 (2024-04-02)
- Upgraded to Armadillo release 12.8.2 (Cortisol Injector) - Workaround for FFTW3 header clash 
- Workaround in testing framework for issue under macOS 
- Minor cleanups to reduce code bloat 
- Improved documentation 
 
Changes in RcppArmadillo version 0.12.8.1.0 (2024-03-02)
- Upgraded to Armadillo release 12.8.1 (Cortisol Injector) - Workaround in - norm()for yet another bug in macOS accelerate framework
 
- Update README for RcppArmadillo usage counts 
- Update examples to use '#include <RcppArmadillo/Lighter>' for faster compilation excluding unused Rcpp features 
Changes in RcppArmadillo version 0.12.8.0.0 (2024-02-06)
- Upgraded to Armadillo release 12.8.0 (Cortisol Injector) - Faster detection of symmetric expressions by - pinv()and- rank()
- Expanded - shift()to handle sparse matrices
- Expanded - conv_tofor more flexible conversions between sparse and dense matrices
- Added - cbrt()
- More compact representation of integers when saving matrices in CSV format 
 
- Five non-user facing top-level include files have been removed (#432 closing #400 and building on #395 and #396) 
Changes in RcppArmadillo version 0.12.6.7.0 (2023-12-18)
- Upgraded to Armadillo release 12.6.7 (Cortisol Retox) - Fix for saving sparse matrices as CSV files 
 
- Added unit tests for thread throttling 
Changes in RcppArmadillo version 0.12.6.6.1 (2023-12-03)
- Following the extendeded transition in #391 and #402, this release no longer sets - ARMA_IGNORE_DEPRECATED_MARKER. Maintainers of affected packages have received pull requests or patches and can set- -DARMA_IGNORE_DEPRECATED_MARKERas- PKG_CPPFLAGS.
Changes in RcppArmadillo version 0.12.6.6.0 (2023-10-31)
- Upgraded to Armadillo release 12.6.6 (Cortisol Retox) - Fix - eigs_sym(),- eigs_gen()and- svds()to generate deterministic results in ARPACK mode
 
- Add helper functions to set and get the number of OpenMP threads 
- Store initial thread count at package load and use in thread-throttling helper (and resetter) suitable for CRAN constraints 
Changes in RcppArmadillo version 0.12.6.5.0 (2023-10-14)
- Upgraded to Armadillo release 12.6.5 (Cortisol Retox) - Fix for corner-case bug in handling sparse matrices with no non-zero elements 
 
Changes in RcppArmadillo version 0.12.6.4.0 (2023-09-06)
- Upgraded to Armadillo release 12.6.4 (Cortisol Retox) - Workarounds for bugs in Apple accelerate framework 
- Fix incorrect calculation of rcond for band matrices in - solve()
- Remove expensive and seldom used optimisations, leading to faster compilation times 
 
Changes in RcppArmadillo version 0.12.6.3.0 (2023-08-28)
- Upgraded to Armadillo release 12.6.3 (Cortisol Retox) - Fix for corner-case in loading CSV files with headers 
- For consistent file handling, all - .load()functions now open text files in binary mode
 
Changes in RcppArmadillo version 0.12.6.2.0 (2023-08-08)
- Upgraded to Armadillo release 12.6.2 (Cortisol Retox) - use thread-safe Mersenne Twister as the default RNG on all platforms 
- use unique RNG seed for each thread within multi-threaded execution (such as OpenMP) 
- explicitly document - arma_rng::set_seed()and- arma_rng::set_seed_random()
 
- None of the changes above affect R use as RcppArmadillo connects the RNGs used by R to Armadillo 
Changes in RcppArmadillo version 0.12.6.1.0 (2023-07-26)
- Upgraded to Armadillo release 12.6.1 (Cortisol Retox) - faster multiplication of dense vectors by sparse matrices (and vice versa) 
- faster - eigs_sym()and- eigs_gen()
- faster - conv()and- conv2()when using OpenMP
- added - diags()and- spdiags()for generating band matrices from set of vectors
 
Changes in RcppArmadillo version 0.12.4.1.0 (2023-06-17)
- Upgraded to Armadillo release 12.4.1 (Cortisol Profusion Redux) - fix bug in - SpMat::shed_cols()
- functions such as - .is_finite()and- find_nonfinite()will now emit a runtime warning when compiled in fast math mode; such compilation mode disables detection of non-finite values
 
- Accommodate upcoming change in package Matrix (Mikael Jagan in #417 addressing #415) 
Changes in RcppArmadillo version 0.12.4.0.0 (2023-05-26)
- Upgraded to Armadillo release 12.4.0 (Cortisol Profusion Redux) - Added - norm2est()for finding fast estimates of matrix 2-norm (spectral norm)
- Added - vecnorm()for obtaining the vector norm of each row or column of a matrix
 
Changes in RcppArmadillo version 0.12.2.0.0 (2023-04-04)
- Upgraded to Armadillo release 12.2.0 (Cortisol Profusion Deluxe) - more efficient use of FFTW3 by - fft()and- ifft()
- faster in-place element-wise multiplication of sparse matrices by dense matrices 
- added spsolve_factoriser class to allow reuse of sparse matrix factorisation for solving systems of linear equations 
 
Changes in RcppArmadillo version 0.12.0.1.0 (2023-02-20)
- Upgraded to Armadillo release 12.0.1 (Cortisol Profusion) - faster - fft()and- ifft()via optional use of FFTW3
- faster - min()and- max()
- faster - index_min()and- index_max()
- added - .col_as_mat()and- .row_as_mat()which return matrix representation of cube column and cube row
- added - csv_opts::strictoption to loading CSV files to interpret missing values as NaN
- added - check_for_zerosoption to form 4 of sparse matrix batch constructors
-  inv()andinv_sympd()with optionsinv_opts::no_uglyorinv_opts::allow_approxnow use a scaled threshold similar topinv()
-  set_cout_stream()andset_cerr_stream()are now no-ops; instead use the optionsARMA_WARN_LEVEL, orARMA_COUT_STREAM, orARMA_CERR_STREAM
- fix regression (mis-compilation) in - shift()function (reported by us in #409)
 
- The include directory order is now more robust (Kevin Ushey in #407 addressing #406) 
Changes in RcppArmadillo version 0.11.4.4.0 (2023-02-09)
- Upgraded to Armadillo release 11.4.4 (Ship of Theseus) - extended - pow()with various forms of element-wise power operations
- added - find_nan()to find indices of NaN elements
- faster handling of compound expressions by - sum()
 
- The package no longer sets a compilation standard, or progagates on in the generated packages as R ensures C++11 on all non-ancient versions 
- The CITATION file was updated to the current format 
Changes in RcppArmadillo version 0.11.4.3.1 (2023-01-14)
- The - #define ARMA_IGNORE_DEPRECATED_MARKERremains active to suppress the (upstream) deprecation warnings, see #391 and #402 for details.
Changes in RcppArmadillo version 0.11.4.3.0 (2022-12-28) (GitHub Only)
- Upgraded to Armadillo release 11.4.3 (Ship of Theseus) - fix corner case in - pinv()when processing symmetric matrices
 
- Protect the undefine of - NDEBUGbehind additional opt-in define
Changes in RcppArmadillo version 0.11.4.2.1 (2022-11-08)
- Upgraded to Armadillo release 11.4.2 (Ship of Theseus) - more robust handling of corner cases in multi-threaded contexts 
 
- Internal header organisation with new sub-directories while providing full compatibility via existing paths (#395 #396) 
Changes in RcppArmadillo version 0.11.4.1.0 (2022-10-10) (GitHub Only)
- Upgraded to Armadillo release 11.4.1 (Ship of Theseus) - fix data race in - Cube::slice()
- workarounds for false warnings emitted by GCC 12 when compiling with - FORTIFY_SOURCEenabled (already in RcppArmadillo 0.11.4.0.1 too)
 
Changes in RcppArmadillo version 0.11.4.0.1 (2022-10-01)
- Upgraded to Armadillo release 11.4.0 (Ship of Theseus) - faster handling of compound expressions by - sum()
- extended - pow()with various forms of element-wise power operations
- added - find_nan()to find indices of NaN elements
 
- Also applied fixes to avoid g++-12 warnings affecting just a handful of CRAN packages. 
Changes in RcppArmadillo version 0.11.2.4.0 (2022-09-09)
- Upgraded to Armadillo release 11.2.4 (Classic Roast) - fix handling of - std::move()involving matrices constructed with auxiliary memory
 
- In the - fastLm()examples, use- arma::dot()to compute to the inner product (as proposed by Conrad), plus small edits
- Support optional - #definenamed- RCPPARMADILLO_FORCE_DEPRECATEto suppress use of- ARMA_IGNORE_DEPRECATED_MARKERpermitting use and development under deprecation
Changes in RcppArmadillo version 0.11.2.3.1 (2022-08-16)
- Accomodate upcoming Matrix 1.4-2 deprecation for conversion (Dirk in #387) 
- CRAN release with small upstream changes in Armadillo 11.2.(1,2,3) made since the last CRAN release 0.11.2.0.0 (Dirk in #383, #384 and #386) 
- Undefine - arma_deprecatedwarning as it affects a number of CRAN packages which will likely need a small transition
Changes in RcppArmadillo version 0.11.2.3.0 (2022-07-12) (GitHub Only)
- Upgraded to Armadillo release 11.2.3 (Classic Roast) - fix - Cube::insert_slices()to accept- Cube::slice()as input
 
Changes in RcppArmadillo version 0.11.2.2.0 (2022-07-04) (GitHub Only)
- Upgraded to Armadillo release 11.2.2 (Classic Roast) - fix incorrect and/or slow convergence in single-threaded versions of - kmeans(),- gmm_diag::learn(),- gmm_full::learn()
 
Changes in RcppArmadillo version 0.11.2.1.0 (2022-06-28) (GitHub Only)
- Upgraded to Armadillo release 11.2.1 (Classic Roast) - old style matrix initialisation via the - <<operator will now emit a compile-time deprecation warning
- use of the old and inactive - ARMA_DONT_PRINT_ERRORSoption will now emit a compile-time deprecation warning
- the option - ARMA_WARN_LEVELcan be used instead
 
Changes in RcppArmadillo version 0.11.2.0.0 (2022-06-10)
- Upgraded to Armadillo release 11.2 (Classic Roast) - faster handling of sparse submatrix column views by - norm(),- accu(),- nonzeros()
- extended - randu()and- randn()to allow specification of distribution parameters
- internal refactoring, leading to faster compilation times 
 
Changes in RcppArmadillo version 0.11.1.1.0 (2022-05-15)
- Upgraded to Armadillo release 11.1.1 (Angry Kitchen Appliance) - added - inv_opts::no_uglyoption to- inv()and- inv_sympd()to disallow inverses of poorly conditioned matrices
- more efficient handling of rank-deficient matrices via - inv_opts::allow_approxoption in- inv()and- inv_sympd()
- better detection of rank deficient matrices by - solve()
- faster handling of symmetric and diagonal matrices by - cond()
 
- The - configurescript again propagates the'found' case again, thanks to Justin Silverman for the heads-up and suggested fix (Dirk and Justin in #376 and #377 fixing #375).
Changes in RcppArmadillo version 0.11.0.1.0 (2022-04-14)
- Upgraded to Armadillo release 11.0.1 (Creme Brulee) - fix miscompilation of - inv()and- inv_sympd()functions when using- inv_opts::allow_approxand- inv_opts::tinyoptions
 
Changes in RcppArmadillo version 0.11.0.0.0 (2022-04-04)
- Upgraded to Armadillo release 11.0.0 (Creme Brulee) - added variants of - inv()and- inv_sympd()that provide rcond (reciprocal condition number)
- expanded - inv()and- inv_sympd()with options- inv_opts::tinyand- inv_opts::allow_approx
- stricter handling of singular matrices by - inv()and- inv_sympd()
- stricter handling of non-sympd matrices by - inv()and- inv_sympd()
- stricter handling of non-finitie matrices by - pinv()
- more robust handling of rank deficient matrices by - solve()
- faster handling of diagonal matrices by - rcond()
- changed - eigs_sym()and- eigs_gen()to use higher quality RNG
-  quantile()andmedian()will now throw an exception if given matrices/vectors have NaN elements
- workaround for yet another bug in Intel MKL 
 
- Until May 2022, protect correction to Field behavior via define of - RCPP_ARMADILLO_FIX_Field
- If a LAPACK installation with missing complex routines is found (as e.g. Ubuntu using 3.9.0) then the LAPACK unit test is skipped. 
Changes in RcppArmadillo version 0.10.8.2.0 (2022-02-01)
- Upgraded to Armadillo release 10.8.2 (Realm Raider) - fix potential speed regression in - pinv()and- rank()
 
Changes in RcppArmadillo version 0.10.8.1.0 (2022-01-23)
- Upgraded to Armadillo release 10.8.1 (Realm Raider) - fix interaction between OpenBLAS and LAPACK 
- emit warning if - find()is incorrectly used to locate NaN elements
 
Changes in RcppArmadillo version 0.10.8.0.0 (2022-01-02)
- Upgraded to Armadillo release 10.8 (Realm Raider) - faster handling of symmetric matrices by - pinv()and- rank()
- faster handling of diagonal matrices by - inv_sympd(),- pinv(),- rank()
- expanded - norm()to handle integer vectors and matrices
- added - datum::tauto replace- 2π
 
Changes in RcppArmadillo version 0.10.7.5.0 (2021-12-16)
- Upgraded to Armadillo release 10.7.5 - fix aliasing bug in - diagmat()
- fix detection of 2x2 triangular matrices 
 
Changes in RcppArmadillo version 0.10.7.4.0 (2021-11-23)
- Upgraded to Armadillo release 10.7.4 - faster handling of diagonal matrices by - inv_sympd(),- pinv(),- rank()
- more robust detection of incorrect data format by - .load()
 
- Correct dimensions setting in import/export of - arma::fieldtypes, protected by- #define(Jonathan Berrisch in #352 fixing #351)
- Add unit tests for - fieldsboth with and without new- #define(Dirk)
Changes in RcppArmadillo version 0.10.7.3.0 (2021-11-04)
- Upgraded to Armadillo release 10.7.3 - fix regression in alias handling by - fliplr(),- flipud(),- reverse()
 
Changes in RcppArmadillo version 0.10.7.2.0 (2021-11-02)
- Upgraded to Armadillo release 10.7.2 - more robust handling of diagonal matrices by - pinv()
 
Changes in RcppArmadillo version 0.10.7.1.0 (2021-10-08)
- Upgraded to Armadillo release 10.7.1 - fix regression in interactions between dense matrix subviews and sparse matrices 
 
Changes in RcppArmadillo version 0.10.7.0.0 (2021-09-30)
- Upgraded to Armadillo release 10.7.0 (Entropy Maximizer) - faster handling of submatrix views accessed by - X.cols(first_col,last_col)
- faster handling of element-wise - min()and- max()in compound expressions
- expanded - solve()with- solve_opts::force_approxoption to force use of the approximate solver
 
Changes in RcppArmadillo version 0.10.6.2.0 (2021-08-05)
- Upgraded to Armadillo release 10.6.2 (Keep Calm) - fix incorrect use of - constexprfor handling fixed-size matrices and vectors
- improved documentation 
 
- GitHub- and drat-only release 
Changes in RcppArmadillo version 0.10.6.0.0 (2021-07-16)
- Upgraded to Armadillo release 10.6.0 (Keep Calm) - expanded - chol()to optionally use pivoted decomposition
- expanded vector, matrix and cube constructors to allow element initialisation via - fill::value(scalar), eg.- mat X(4,5,fill::value(123))
- faster loading of CSV files when using OpenMP 
- added - csv_opts::semicolonoption to allow saving/loading of CSV files with semicolon (;) instead of comma (,) as the separator
 
Changes in RcppArmadillo version 0.10.5.3.0 (2021-07-01)
- Upgraded to Armadillo release 10.5.3 (Antipodean Fortress) 
- GitHub-only release 
- Extended test coverage with several new tests, added a coverage badge. 
Changes in RcppArmadillo version 0.10.5.0 (2021-05-21)
- Upgraded to Armadillo release 10.5 (Antipodean Fortress) - added - .clamp()member function
- expanded the standalone - clamp()function to handle complex values
- more efficient use of OpenMP 
- vector, matrix and cube constructors now initialise elements to zero by default; use the - fill::nonespecifier, eg.- mat X(4,5,fill::none), to disable element initialisation
 
- Added - codecov.ymlto exclude Armadillo from coverage analysis
Changes in RcppArmadillo version 0.10.4.1.0 (2021-04-23)
- Upgraded to Armadillo release 10.4.1 (Pressure Cooker) 
- GitHub-only release 
Changes in RcppArmadillo version 0.10.4.0.0 (2021-04-12)
- Upgraded to Armadillo release 10.4.0 (Pressure Cooker) - faster handling of triangular matrices by - log_det()
- added - log_det_sympd()for log determinant of symmetric positive matrices
- added ARMA_WARN_LEVEL configuration option, to control the degree of emitted warning messages 
- reduced the default degree of warning messages, so that failed decompositions, failed saving/loading, etc, no longer emit warnings 
 
- Apply one upstream corrections for - arma::randndraws when using alternative (here R) generator, and- arma::randg.
Changes in RcppArmadillo version 0.10.3.0.0 (2021-03-10)
- Upgraded to Armadillo release 10.3 (Sunrise Chaos) - faster handling of symmetric positive definite matrices by - pinv()
- expanded - .save()/- .load()for dense matrices to handle coord_ascii format
- for out of bounds access, element accessors now throw the more nuanced - std::out_of_rangeexception, instead of only- std::logic_error
- improved quality of random numbers 
 
Changes in RcppArmadillo version 0.10.2.2.0 (2021-03-09)
- Upgraded to Armadillo release 10.2.2 (Cicada Swarm) - faster handling of subcubes 
- added - tgamma()
- added - .brief_print()for abridged printing of matrices & cubes
- expanded forms of - trimatu()and- trimatl()with diagonal specification to handle sparse matrices
- expanded - eigs_sym()and- eigs_gen()with optional shift-invert mode
 
- Removed - debian/directory from repository as packaging is on salsa.debian.org.
- Relaxed tolerance on two - cubetests on Windows to accomodate new 'gcc10-UCRT' builder.
Changes in RcppArmadillo version 0.10.2.1.0 (2021-02-09)
- Upgraded to Armadillo release 10.2.1 (Cicada Swarm) - faster handling of subcubes 
- added - tgamma()
- added - .brief_print()for abridged printing of matrices & cubes
- expanded forms of - trimatu()and- trimatl()with diagonal specification to handle sparse matrices
- expanded - eigs_sym()and- eigs_gen()with optional shift-invert mode
 
Changes in RcppArmadillo version 0.10.1.2.2 (2021-01-08)
- Correct one unit test for Matrix 1.3.0-caused changed (Binxiang in #319 and Dirk in #322). 
- Suppress one further warning from Matrix (Dirk) 
- Apply an upstream - NaNcorrection (Conrad in #321)
- Added GitHub Actions CI using - run.shfrom r-ci (Dirk)
Changes in RcppArmadillo version 0.10.1.2.0 (2020-11-15)
- Upgraded to Armadillo release 10.1.2 (Orchid Ambush) 
- Remove three unused int constants (#313) 
- Include main armadillo header using quotes instead of brackets 
- Rewrite version number use in old-school mode because gcc 4.8.5 
- Skipping parts of sparse conversion on Windows as win-builder fails 
Changes in RcppArmadillo version 0.10.1.0.0 (2020-10-09)
- Upgraded to Armadillo release 10.1.0 (Orchid Ambush) - C++11 is now the minimum required C++ standard 
- faster handling of compound expressions by - trimatu()and- trimatl()
- faster sparse matrix addition, subtraction and element-wise multiplication 
- expanded sparse submatrix views to handle the non-contiguous form of - X.cols(vector_of_column_indices)
- expanded - eigs_sym()and- eigs_gen()with optional fine-grained parameters (subspace dimension, number of iterations, eigenvalues closest to specified value)
- deprecated form of - reshape()removed from Cube and SpMat classes
- ignore and warn on use of the - ARMA_DONT_USE_CXX11macro
 
- Switch Travis CI testing to focal and BSPM 
Changes in RcppArmadillo version 0.9.900.3.0 (2020-09-02)
- Upgraded to Armadillo release 9.900.3 (Nocturnal Misbehaviour) - More efficient code for initialising matrices with - fill::zeros
- Fixes for various error messages 
 
Changes in RcppArmadillo version 0.9.900.2.0 (2020-07-17)
- Upgraded to Armadillo release 9.900.2 (Nocturnal Misbehaviour) - In - sort(), fixes for inconsistencies between checks applied to matrix and vector expressions
- In - sort(), remove unnecessary copying when applied in-place to vectors function when applied in-place to vectors
 
Changes in RcppArmadillo version 0.9.900.1.0 (2020-06-08)
- Upgraded to Armadillo release 9.900.1 (Nocturnal Misbehaviour) - faster - solve()for under/over-determined systems
- faster - eig_gen()and- eig_pair()for large matrices
- expanded - eig_gen()and- eig_pair()to optionally provide left and right eigenvectors
 
- Switch Travis CI testing to R 4.0.0, use bionic as base distro and test R 3.6.3 and 4.0.0 in a matrix (Dirk in #298). 
- Add two badges to README for indirect use and the CSDA paper. 
- Adapt - RcppArmadillo.package.skeleton()to a change in R 4.0.0 affecting what it exports in- NAMESPACE.
Changes in RcppArmadillo version 0.9.880.1.0 (2020-05-15)
- Upgraded to Armadillo release 9.880.1 (Roasted Mocha Detox) - expanded - qr()to optionally use pivoted decomposition
- updated physical constants to NIST 2018 CODATA values 
- added - ARMA_DONT_USE_CXX11_MUTEXconfguration option to disable use of- std::mutex
 
- OpenMP capability is tested explicitly (Kevin Ushey and Dirk in #294, #295, and #296 all fixing #290). 
Changes in RcppArmadillo version 0.9.870.2.0 (2020-04-24)
- Upgraded to Armadillo release 9.870.2 (Roasted Mocha Retox) - faster handling of matrix multiplication expressions by - diagvec()and- diagmat()
- added - trimatu_ind()and- trimatl_ind()
- more consistent detection of sparse vector expressions 
 
Changes in RcppArmadillo version 0.9.860.2.0 (2020-04-13)
- Upgraded to Armadillo release 9.860.2 (Roasted Mocha Fix) - added - powmat()
- faster access to columns in sparse submatrix views 
- faster handling of relational expressions by - accu()
- faster handling of sympd matrices by - expmat(),- logmat(),- sqrtmat()
- workaround for save/load issues with HDF5 v1.12 
 
- Vignettes are now pre-made and include (#285) 
- Two test files are now skipped on 32-bit Windows 
Changes in RcppArmadillo version 0.9.850.1.0 (2020-02-09)
- Upgraded to Armadillo release 9.850.1 (Pyrocumulus Wrath) - faster handling of compound expressions by - diagmat()
- expanded - .save()and- .load()to handle CSV files with headers via csv_name(filename,header) specification
- added - log_normpdf()
- added - .is_zero()
- added - quantile()
 
- The sparse matrix test using scipy, if available, is now simplified thanks to recently added reticulate conversions. 
Changes in RcppArmadillo version 0.9.800.4.0 (2020-01-24)
- Upgraded to Armadillo release 9.800.4 (Horizon Scraper) - fixes for incorrect type promotion in - normpdf()
 
Changes in RcppArmadillo version 0.9.800.3.0 (2019-12-04)
- Upgraded to Armadillo release 9.800.3 (Horizon Scraper) - fixes for matrix row iterators 
- better detection of non-hermitian matrices by - eig_sym(),- inv_sympd(),- chol(),- expmat_sym()
 
- The - samplefunction passes the prob vector as const allowing subsequent calls (Christian Gunning in #276 fixing #275)
Changes in RcppArmadillo version 0.9.800.1.0 (2019-10-09)
- Upgraded to Armadillo release 9.800 (Horizon Scraper) - faster - solve()in default operation; iterative refinement is no longer applied by default; use- solve_opts::refineto explicitly enable refinement
- faster - expmat()
- faster handling of triangular matrices by - rcond()
- added - .front()and- .back()
- added - .is_trimatu()and- .is_trimatl()
- added - .is_diagmat()
 
- The package now uses tinytest for unit tests (Dirk in #269). 
- The - configure.acscript is now more careful about shell portability (Min Kim in #270).
Changes in RcppArmadillo version 0.9.700.2.0 (2019-09-01)
- Upgraded to Armadillo release 9.700.2 (Gangster Democracy) - faster handling of cubes by - vectorise()
- faster faster handling of sparse matrices by - nonzeros()
- faster row-wise - index_min()and- index_max()
- expanded - join_rows()and- join_cols()to handle joining up to 4 matrices
- expanded - .save()and- .load()to allow storing sparse matrices in CSV format
- added - randperm()to generate a vector with random permutation of a sequence of integers
 
- Expanded the list of known good - gccand- clangversions in- configure.ac
Changes in RcppArmadillo version 0.9.600.4.0 (2019-07-14)
- Upgraded to Armadillo release 9.600.4 (Napa Invasion) - faster handling of sparse submatrices 
- faster handling of sparse diagonal views 
- faster handling of sparse matrices by - symmatu()and- symmatl()
- faster handling of sparse matrices by - join_cols()
- expanded - clamp()to handle sparse matrices
- added - .clean()to replace elements below a threshold with zeros
 
Changes in RcppArmadillo version 0.9.500.2.0 (2019-06-11)
- Upgraded to Armadillo release 9.500.2 (Riot Compact) - Expanded - solve()with- solve_opts::likely_sympdto indicate that the given matrix is likely positive definite
- more robust automatic detection of positive definite matrices by - solve()and- inv()
- faster handling of sparse submatrices 
- expanded - eigs_sym()to print a warning if the given matrix is not symmetric
- extended LAPACK function prototypes to follow Fortran passing conventions for so-called "hidden arguments", in order to address GCC Bug 90329; to use previous LAPACK function prototypes without the "hidden arguments", - #define ARMA_DONT_USE_FORTRAN_HIDDEN_ARGS before #include <armadillo>
 
Changes in RcppArmadillo version 0.9.400.3.0 (2019-05-09)
- Upgraded to Armadillo release 9.400.3 (Surrogate Miscreant) - check for symmetric / hermitian matrices (used by decomposition functions) has been made more robust 
-  linspace()andlogspace()now honour requests for generation of vectors with zero elements
- fix for vectorisation / flattening of complex sparse matrices 
 
Changes in RcppArmadillo version 0.9.400.2.0 (2019-04-28)
- Upgraded to Armadillo release 9.400.2 (Surrogate Miscreant) - faster - cov()and- cor()
- added - .as_col()and- .as_row()
- expanded - .shed_rows()/- .shed_cols()/- .shed_slices()to remove rows/columns/slices specified in a vector
- expanded - vectorise()to handle sparse matrices
- expanded element-wise versions of - max()and- min()to handle sparse matrices
- optimised handling of sparse matrix expressions: - sparse % (sparse +- scalar)and- sparse / (sparse +- scalar)
- expanded - eig_sym(),- chol(),- expmat_sym(),- logmat_sympd(),- sqrtmat_sympd(),- inv_sympd()to print a warning if the given matrix is not symmetric
- more consistent detection of vector expressions 
 
Changes in RcppArmadillo version 0.9.300.2.0 (2019-03-21)
- Upgraded to Armadillo release 9.300.2 (Fomo Spiral) - Faster handling of compound complex matrix expressions by - trace()
- More efficient handling of element access for inplace modifications in sparse matrices 
- Added - .is_sympd()to check whether a matrix is symmetric/hermitian positive definite
- Added - interp2()for 2D data interpolation
- Added - expm1()and- log1p()
- Expanded - .is_sorted()with options "strictascend" and "strictdescend"
- Expanded - eig_gen()to optionally perform balancing prior to decomposition
 
Changes in RcppArmadillo version 0.9.200.7.1 (2019-03-08)
- Explicit setting of - RNGversion("3.5.0")in one unit test to accomodate the change in- sample()in R 3.6.0
- Back-ported a fix to the Wishart RNG from upstream (Dirk in #248 fixing #247) 
Changes in RcppArmadillo version 0.9.200.7.0 (2019-01-17)
- Upgraded to Armadillo release 9.200.7 (Carpe Noctem) 
- Fixes in 9.200.7 compared to 9.200.5: - handling complex compound expressions by - trace()
- handling - .rows()and- .cols()by the- Cubeclass
 
Changes in RcppArmadillo version 0.9.200.5.0 (2018-11-27)
- Upgraded to Armadillo release 9.200.5 (Carpe Noctem) 
- Changes in this release - linking issue when using fixed size matrices and vectors 
- faster handling of common cases by - princomp()
 
Changes in RcppArmadillo version 0.9.200.4.0 (2018-11-09)
- Upgraded to Armadillo release 9.200.4 (Carpe Noctem) - faster handling of symmetric positive definite matrices by - rcond()
- faster transpose of matrices with size ≥ 512x512 
- faster handling of compound sparse matrix expressions by - accu(),- diagmat(),- trace()
- faster handling of sparse matrices by - join_rows()
- expanded - sign()to handle scalar arguments
- expanded operators ( - *,- %,- +,- −) to handle sparse matrices with differing element types (eg. multiplication of complex matrix by real matrix)
- expanded - conv_to()to allow conversion between sparse matrices with differing element types
- expanded - solve()to optionally allow keeping solutions of systems singular to working precision
- workaround for - gccand- clangbug in C++17 mode
 
- Commented-out sparse matrix test consistently failing on the fedora-clang machine CRAN, and only there. No fix without access. 
- The 'Unit test' vignette is no longer included. 
Changes in RcppArmadillo version 0.9.100.5.0 (2018-08-16)
- Upgraded to Armadillo release 9.100.4 (Armatus Ad Infinitum) - faster handling of symmetric/hermitian positive definite matrices by - solve()
- faster handling of - inv_sympd()in compound expressions
- added - .is_symmetric()
- added - .is_hermitian()
- expanded - spsolve()to optionally allow keeping solutions of systems singular to working precision
- new configuration options - ARMA_OPTIMISE_SOLVE_BANDand- ARMA_OPTIMISE_SOLVE_SYMPDsmarter use of the element cache in sparse matrices
- smarter use of the element cache in sparse matrices 
 
- Aligned OpenMP flags in the RcppArmadillo.package.skeleton used Makevars(,.win) to not use one C and C++ flag. 
Changes in RcppArmadillo version 0.8.600.0.0 (2018-06-28)
- Upgraded to Armadillo release 8.600.0 (Sabretooth Rugrat) - added - hess()for Hessenberg decomposition
- added - .row(),- .rows(),- .col(),- .cols()to subcube views
- expanded - .shed_rows()and- .shed_cols()to handle cubes
- expanded - .insert_rows()and- .insert_cols()to handle cubes
- expanded subcube views to allow non-contiguous access to slices 
- improved tuning of sparse matrix element access operators 
- faster handling of tridiagonal matrices by - solve()
- faster multiplication of matrices with differing element types when using OpenMP 
 
Changes in RcppArmadillo version 0.8.500.1.1 (2018-05-17) [GH only]
- Upgraded to Armadillo release 8.500.1 (Caffeine Raider) - bug fix for banded matricex 
 
- Added - slamto Suggests: as it is used in two unit test functions [CRAN requests]
- The - RcppArmadillo.package.skeleton()function now works with- example_code=FALSEwhen pkgKitten is present (Santiago Olivella in #231 fixing #229)
- The LAPACK tests now cover band matrix solvers (Keith O'Hara in #230). 
Changes in RcppArmadillo version 0.8.500.0 (2018-04-21)
- Upgraded to Armadillo release 8.500 (Caffeine Raider) - faster handling of sparse matrices by - kron()and- repmat()
- faster transpose of sparse matrices 
- faster element access in sparse matrices 
- faster row iterators for sparse matrices 
- faster handling of compound expressions by - trace()
- more efficient handling of aliasing in submatrix views 
- expanded - normalise()to handle sparse matrices
- expanded - .transform()and- .for_each()to handle sparse matrices
- added - reverse()for reversing order of elements
- added - repelem()for replicating elements
- added - roots()for finding the roots of a polynomial
 
- Fewer LAPACK compile-time guards are used, new unit tests for underlying features have been added (Keith O'Hara in #211 addressing #207). 
- The configure check for LAPACK features has been updated accordingly (Keith O'Hara in #214 addressing #213). 
- The compile-time check for - g++is now more robust to minimal shell versions (#217 addressing #216).
- Compiler tests to were added for macOS (Keith O'Hara in #219). 
Changes in RcppArmadillo version 0.8.400.0.0 (2018-02-19)
- Upgraded to Armadillo release 8.400.0 (Entropy Bandit) - faster handling of sparse matrices by - repmat()
- faster loading of CSV files 
- expanded - kron()to handle sparse matrices
- expanded - index_min()and- index_max()to handle cubes
- expanded - randi(),- randu(),- randn(),- randg()to output single scalars
- added submatrix & subcube iterators 
- added - normcdf()
- added - mvnrnd()
- added - chi2rnd()
- added - wishrnd()and- iwishrnd()
 
- The - configuregenerated header settings for LAPACK and OpenMP can be overridden by the user.
- This release was preceded by two release candidates which were tested extensively. 
Changes in RcppArmadillo version 0.8.300.1.0 (2017-12-04)
- Upgraded to Armadillo release 8.300.1 (Tropical Shenanigans) - faster handling of band matrices by - solve()
- faster handling of band matrices by - chol()
- faster - randg()when using OpenMP
- added - normpdf()
- expanded - .save()to allow appending new datasets to existing HDF5 files
 
- Includes changes made in several earlier GitHub-only releases (versions 0.8.300.0.0, 0.8.200.2.0 and 0.8.200.1.0). 
- Conversion from - simple_triplet_matrixis now supported (Serguei Sokol in #192).
- Updated configure code to check for g++ 5.4 or later to enable OpenMP. 
- Updated the skeleton package to current packaging standards 
- Suppress warnings from Armadillo about missing OpenMP support and - -fopenmpflags by setting- ARMA_DONT_PRINT_OPENMP_WARNING
Changes in RcppArmadillo version 0.8.100.1.0 (2017-10-10)
- Upgraded to Armadillo release 8.100.1 (Feral Pursuits) - faster incremental construction of sparse matrices via element access operators 
- faster diagonal views in sparse matrices 
- expanded - SpMatto save/load sparse matrices in coord format
- expanded - .save(),- .load()to allow specification of datasets within HDF5 files
- added - affmul()to simplify application of affine transformations
- warnings and errors are now printed by default to the - std::cerrstream
- added - set_cerr_stream()and- get_cerr_stream()to replace- set_stream_err1(),- set_stream_err2(),- get_stream_err1(),- get_stream_err2()
- new configuration options - ARMA_COUT_STREAMand- ARMA_CERR_STREAM
 
- Constructors for sparse matrices of types - dgt,- dttamd- dstnow use Armadillo code for improved performance (Serguei Sokol in #175 addressing #173)
- Sparse matrices call - .sync()before accessing internal arrays (Binxiang Ni in #171)
- The sparse matrix vignette has been converted to Rmarkdown using the pinp package, and is now correctly indexed. (#176) 
Changes in RcppArmadillo version 0.7.960.1.2 (2017-08-29)
- On macOS, OpenMP support is now turned off (#170). 
- The package is now compiling under the C++11 standard (#170). 
- The vignette dependency are correctly set (James and Dirk in #168 and #169) 
Changes in RcppArmadillo version 0.7.960.1.1 (2017-08-20)
- Added improved check for inherited S4 matrix classes (#162 fixing #161) 
- Changed - fastLmC++ function to- fastLm_implto not clash with R method (#164 fixing #163)
Changes in RcppArmadillo version 0.7.960.1.0 (2017-08-11)
- Upgraded to Armadillo release 7.960.1 (Northern Banana Republic Deluxe) - faster - randn()when using OpenMP (NB: usually omitted when used fromR)
- faster - gmm_diagclass, for Gaussian mixture models with diagonal covariance matrices
- added - .sum_log_p()to the- gmm_diagclass
- added - gmm_fullclass, for Gaussian mixture models with full covariance matrices
- expanded - .each_slice()to optionally use OpenMP for multi-threaded execution
 
- Upgraded to Armadillo release 7.950.0 (Northern Banana Republic) - expanded - accu()and- sum()to use OpenMP for processing expressions with computationally expensive element-wise functions
- expanded - trimatu()and- trimatl()to allow specification of the diagonal which delineates the boundary of the triangular part
 
- Enhanced support for sparse matrices (Binxiang Ni as part of Google Summer of Code 2017) - Add support for - dtCMatrixand- dsCMatrix(#135)
- Add conversion and unit tests for - dgT,- dtTand- dsTMatrix(#136)
- Add conversion and unit tests for - dgR,- dtRand- dsRMatrix(#139)
- Add conversion and unit tests for - pMatrixand- ddiMatrix(#140)
- Rewrite conversion for - dgT,- dtTand- dsTMatrix, and add file-based tests (#142)
- Add conversion and unit tests for - indMatrix(#144)
- Rewrite conversion for - ddiMatrix(#145)
- Add a warning message for matrices that cannot be converted (#147) 
- Add new vignette for sparse matrix support (#152; Dirk in #153) 
- Add support for sparse matrix conversion from Python SciPy (#158 addressing #141) 
 
- Optional return of row or column vectors in collapsed form if appropriate - #defineis set (Serguei Sokol in #151 and #154)
- Correct - speye()for non-symmetric cases (Qiang Kou in #150 closing #149).
- Ensure tests using Scientific Python and reticulate are properly conditioned on the packages being present. 
- Added - .aspell/directory with small local directory now supported by R-devel.
Changes in RcppArmadillo version 0.7.900.2.0 (2017-06-02)
- Upgraded to Armadillo release 7.900.2 (Evil Banana Republic) - Expanded - clamp()to handle cubes
- Computationally expensive element-wise functions (such as - exp(),- log(),- cos(), etc) can now be automatically sped up via OpenMP; this requires a C++11/C++14 compiler with OpenMP 3.0+ support for GCC and clang compilers
- One caveat: when using GCC, use of - -march=nativein conjunction with- -fopenmpmay lead to speed regressions on recent processors
 
- Added gcc 7 to support compiler check (James Balamuta in #128 addressing #126). 
- A unit test helper function for - rmultinomwas corrected (#133).
- OpenMP support was added to the skeleton helper in - inline.R
Changes in RcppArmadillo version 0.7.800.2.0 (2017-04-12)
- Upgraded to Armadillo release 7.800.2 (Rogue State Redux) - The Armadillo license changed to Apache License 2.0 
 
- The - DESCRIPTIONfile now mentions the Apache License 2.0, as well as the former MPL2 license used for earlier releases.
- A new file - init.cwas added with calls to- R_registerRoutines()and- R_useDynamicSymbols()
- Symbol registration is enabled in - useDynLib
- The - fastLmexample was updated
Changes in RcppArmadillo version 0.7.700.0.0 (2017-02-07)
- Upgraded to Armadillo release 7.700.0 (Rogue State) - added - polyfit()and- polyval()
- added second form of - log_det()to directly return the result as a complex number
- added - range()to statistics functions
- expanded - trimatu()/- trimatl()and- symmatu()/- symmatl()to handle sparse matrice
 
Changes in RcppArmadillo version 0.7.600.2.0 (2017-01-05)
- Upgraded to Armadillo release 7.600.2 (Coup d'Etat Deluxe) - Bug fix to memory allocation for - fields
 
Changes in RcppArmadillo version 0.7.600.1.0 (2016-12-16)
- Upgraded to Armadillo release 7.600.1 (Coup d'Etat Deluxe) - more accurate - eigs_sym()and- eigs_gen()
- expanded - floor(),- ceil(),- round(),- trunc(),- sign()to handle sparse matrices
- added - arg(),- atan2(),- hypot()
 
Changes in RcppArmadillo version 0.7.500.1.0 (2016-11-11)
- Upgraded to Armadillo release 7.500.1 
- Small improvement to return value treatment 
- The - sample.hextension was updated to the newer Armadillo interface. (Closes #111)
Changes in RcppArmadillo version 0.7.500.0.0 (2016-10-20)
- Upgraded to Armadillo release 7.500.0 (Coup d'Etat) - Expanded - qz()to optionally specify ordering of the Schur form
- Expanded - each_slice()to support matrix multiplication
 
Changes in RcppArmadillo version 0.7.400.2.0 (2016-08-24)
- Upgraded to Armadillo release 7.400.2 (Feral Winter Deluxe) - added - expmat_sym(),- logmat_sympd(),- sqrtmat_sympd()
- added - .replace()
 
Changes in RcppArmadillo version 0.7.300.1.0 (2016-07-30)
- Upgraded to Armadillo release 7.300.1 - added - index_min()and- index_max()standalone functions
- expanded - .subvec()to accept- size()arguments
- more robust handling of non-square matrices by - lu()
 
Changes in RcppArmadillo version 0.7.200.2.0 (2016-07-22)
- Upgraded to Armadillo release 7.200.2 
- The sampling extension was rewritten to use Armadillo vector types instead of Rcpp types (PR #101 by James Balamuta) 
Changes in RcppArmadillo version 0.7.200.1.0 (2016-06-06)
- Upgraded to Armadillo release 7.200.1 - added - .index_min()and- .index_max()
- expanded - ind2sub()to handle vectors of indices
- expanded - sub2ind()to handle matrix of subscripts
- expanded - expmat(),- logmat()and- sqrtmat()to optionally return a bool indicating success
- faster handling of compound expressions by - vectorise()
 
- The - configurecode now (once again) sets the values for the LAPACK feature- #definecorrectly.
Changes in RcppArmadillo version 0.7.100.3.0 (2016-05-25)
- Upgraded to Armadillo test release 7.100.3 - added - erf(),- erfc(),- lgamma()
- added - .head_slices()and- .tail_slices()to subcube views
-  spsolve()now requires SuperLU 5.2
-  eigs_sym(),eigs_gen()andsvds()now use a built-in reimplementation of ARPACK for real (non-complex) matrices (code contributed by Yixuan Qiu)
 
- The - configurecode now checks against old- g++version which are no longer sufficient to build the package.
Changes in RcppArmadillo version 0.6.700.6.0 (2016-05-05)
- Upgraded to Armadillo 6.700.6 (Catabolic Amalgamator Deluxe) - fix for handling empty matrices by - kron()
- fix for clang warning in advanced matrix constructors 
- fix for false deprecated warning in - trunc_log()and- trunc_exp()
- fix for gcc-6.1 warning about misleading indentation 
- corrected documentation for the - solve()function
 
- Added support for - int64_t(- ARMA_64BIT_WORD) when required during compilation time. (PR #90 by George G. Vega Yon, fixing #88)
- Fixed bug in - SpMatexporter (PR #91 by George G. Vega Yon, fixing #89 and #72)
Changes in RcppArmadillo version 0.6.700.3.0 (2016-04-05)
- Upgraded to Armadillo 6.700.3 (Catabolic Amalgamator Deluxe) - added - logmat()for calcuating the matrix logarithm
- added - regspace()for generating vectors with regularly spaced elements
- added - logspace()for generating vectors with logarithmically spaced elements
- added - approx_equal()for determining approximate equality
- added - trapz()for numerical integration
- expanded - .save()and- .load()with hdf5_binary_trans file type, to save/load data with columns transposed to rows
 
Changes in RcppArmadillo version 0.6.600.4.0 (2016-03-15)
- Upgraded to Armadillo 6.600.4 (Catabolic Amalgamator) - expanded - sum(),- mean(),- min(),- max()to handle cubes
- expanded - Cubeclass to handle arbitrarily sized empty cubes (eg. 0x5x2)
- added - shift()for circular shifts of elements
- added - sqrtmat()for finding the square root of a matrix
- fix for - gmm_diagwhen using Mahalanobis distance
 
- The - configurescript now reflects the full LAPACK fallback offered by R 3.3.0 or later (PR #81)
Changes in RcppArmadillo version 0.6.500.4.0 (2016-01-26)
- Upgraded to Armadillo 6.500.4 (Gourmet Electron Jumper) - added - conv2()for 2D convolution
- added stand-alone - kmeans()function for clustering data
- added - trunc()
- extended - conv()to optionally provide central convolution
- faster handling of multiply-and-accumulate by - accu()when using Intel MKL, ATLAS or OpenBLAS
 
- The - configurescript now uses- #!/usr/bin/env bashto cope with systems that do not have- #!/bin/bash(PR #75 fixing issue #74)
- RcppArmadillo now defines ARMA_32BIT_WORD to ensure we always use integer vectors that be passed to R 
Changes in RcppArmadillo version 0.6.400.2.0 (2015-12-15)
- Upgraded to Armadillo 6.400.2 ("Flying Spaghetti Monster Deluxe") - expanded - each_col(),- each_row()and- each_slice()to handle C++11 lambda functions
- added - ind2sub()and- sub2ind()
- fixes for corner cases in gmm_diag class 
 
Changes in RcppArmadillo version 0.6.300.2.2 (2015-12-12)
- Upgraded to Armadillo 6.300.3-test ("Flying Spaghetti Monster") - Additional test in - auxlib_meat.hppfor limited LAPACK
 
- Updated test and - #definefor limited LAPACK version R might be built with on Unix-alike systems
Changes in RcppArmadillo version 0.6.300.2.0 (2015-12-03)
- Upgraded to Armadillo 6.300.2 ("Flying Spaghetti Monster") - expanded - solve()to find approximate solutions for rank-deficient systems
- faster handling of non-contiguous submatrix views in compound expressions 
- added - .for_each()to Mat, Row, Col, Cube and field classes
- added - rcond()for estimating the reciprocal condition number
- fixes for - spsolve(),- eigs_sym(),- eigs_gen(),- svds()
 
- Added support for - Cubetypes via- as<>converters (PR #64 by Nathan Russell, fixing #63 and #42)
Changes in RcppArmadillo version 0.6.200.2.0 (2015-10-31)
- Upgraded to Armadillo 6.200.0 ("Midnight Blue Deluxe") - expanded - diagmat()to handle non-square matrices and arbitrary diagonals
- expanded - trace()to handle non-square matrices
 
Changes in RcppArmadillo version 0.6.100.0.0 (2015-10-03)
- Upgraded to Armadillo 6.100.0 ("Midnight Blue") - faster - norm()and- normalise()when using ATLAS or OpenBLAS
- added Schur decomposition: - schur()
- stricter handling of matrix objects by - hist()and- histc()
- advanced constructors for using auxiliary memory by Mat, Col, Row and Cube now have the default of strict = false 
- Cube class now delays allocation of .slice() related structures until needed 
- expanded - join_slices()to handle joining cubes with matrices
 
Changes in RcppArmadillo version 0.6.000.1.0 (2015-09-25)
- Upgraded to Armadillo test / bug-fix release 0.6.000.1-test 
- Non-CRAN release 
Changes in RcppArmadillo version 0.5.600.2.0 (2015-09-19)
- Upgraded to Armadillo 5.600.2 ("Molotov Cocktail Deluxe") - expanded - .each_col()and- .each_row()to handle out-of-place operations
- added - .each_slice()for repeated matrix operations on each slice of a cube
- faster handling of compound expressions by - join_rows()and- join_cols()
 
Changes in RcppArmadillo version 0.5.500.2.0 (2015-09-03)
- Upgraded to Armadillo 5.500.2 ("Molotov Cocktail") - expanded object constructors and generators to handle - size()based specification of dimensions
- faster handling of submatrix rows 
- faster - clamp()
- fixes for handling sparse matrices 
 
Changes in RcppArmadillo version 0.5.400.2.0 (2015-08-17)
- Upgraded to Armadillo 5.400.2 ("Plutocracy Incorporated Deluxe") - added - find_unique()for finding indices of unique values
- added - diff()for calculating differences between consecutive elements
- added - cumprod()for calculating cumulative product
- added - null()for finding the orthonormal basis of null space
- expanded - interp1()to handle repeated locations
- expanded - unique()to handle complex numbers
- faster - flupud()
- faster row-wise - cumsum()
- fix for k-means clustering in gmm_diag class 
 
- corrected use of - kitten()thanks to Grant Brown
Changes in RcppArmadillo version 0.5.300.4 (2015-08-03)
- Upgraded to Armadillo 5.300.4 ("Plutocrazy Incorporated") - added generalised Schur decomposition: - qz()
- added - .has_inf()and- .has_nan()
- expanded - interp1()to handle out-of-domain locations
- expanded sparse matrix class with - .set_imag()and- .set_real()
- expanded - imag(),- real()and- conj()to handle sparse matrices
- expanded - diagmat(),- reshape()and- resize()to handle sparse matrices
- faster sparse - sum()
- faster row-wise - sum(),- mean(),- min(),- max()
- updated physical constants to NIST 2014 CODATA values 
- fixes for handling sparse submatrix views 
- Armadillo can make use of GPUs by linking with NVIDIA NVBLAS (a GPU-accelerated implementation of BLAS), or by linking with AMD ACML (which can use GPUs via OpenCL) 
 
- Added - importFromstatements for R functions not from base
- Added explicit - Rcpp::sourceCpp()reference as well
- Updated one formatting detail in vignette to please TeXlive2015 
Changes in RcppArmadillo version 0.5.200.1.0 (2015-06-04)
- Upgraded to Armadillo release 5.200.1 ("Boston Tea Smuggler") - added - orth()for finding the orthonormal basis of the range space of a matrix
- expanded element initialisation to handle nested initialiser lists (C++11) 
- workarounds for bugs in GCC, Intel and MSVC C++ compilers 
 
- Added another example to - inst/examples/fastLm.r
Changes in RcppArmadillo version 0.5.100.2.0 (2015-05-12)
- Upgraded to Armadillo test / bug-fix release 5.100.2 
- Non-CRAN release 
Changes in RcppArmadillo version 0.5.100.1.0 (2015-05-01)
- Upgraded to Armadillo release 5.100.1 ("Ankle Biter Deluxe") - added - interp1()for 1D interpolation
- added - .is_sorted()for checking whether a vector or matrix has sorted elements
- updated physical constants to NIST 2010 CODATA values 
 
Changes in RcppArmadillo version 0.5.000.0 (2015-04-12)
- Upgraded to Armadillo release Version 5.000 ("Ankle Biter") - added - spsolve()for solving sparse systems of linear equations
- added - svds()for singular value decomposition of sparse matrices
- added - nonzeros()for extracting non-zero values from matrices
- added handling of diagonal views by sparse matrices 
- expanded - repmat()to handle sparse matrices
- expanded - join_rows()and- join_cols()to handle sparse matrices
-  sort_index()andstable_sort_index()have been placed in the delayed operations framework for increased efficiency
- use of 64 bit integers is automatically enabled when using a C++11 compiler 
- workaround for a bug in recent releases of Apple Xcode 
- workaround for a bug in LAPACK 3.5 
 
Changes in RcppArmadillo version 0.4.999.1.0 (2015-04-04)
- Upgraded to Armadillo release preview 4.999.1 
- Non-CRAN test release 
Changes in RcppArmadillo version 0.4.650.1.1 (2015-02-25)
- Upgraded to Armadillo release Version 4.650.1 ("Intravenous Caffeine Injector") - added - randg()for generating random values from gamma distributions (C++11 only)
- added - .head_rows()and- .tail_rows()to submatrix views
- added - .head_cols()and- .tail_cols()to submatrix views
- expanded - eigs_sym()to optionally calculate eigenvalues with smallest/largest algebraic values fixes for handling of sparse matrices
 
- Applied small correction to main header file to set up C++11 RNG whether or not the alternate RNG (based on R, our default) is used 
Changes in RcppArmadillo version 0.4.600.4.0 (2015-01-23)
- Upgraded to Armadillo release Version 4.600.4 (still "Off The Reservation") - Speedups in the transpose operation 
- Small bug fixes 
 
Changes in RcppArmadillo version 0.4.600.0 (2014-12-27)
- Upgraded to Armadillo release Version 4.600 ("Singapore Sling Deluxe") - added - .head()and- .tail()to submatrix views
- faster matrix transposes within compound expressions 
- faster - accu()and- norm()when compiling with -O3 -ffast-math -march=native (gcc and clang)
- workaround for a bug in GCC 4.4 
 
Changes in RcppArmadillo version 0.4.550.2.0 (2014-12-02)
- Upgraded to Armadillo release Version 4.550.2 ("Singapore Sling Deluxe") - Bug fixes for implicit template initiation for - std::pow()seen with the old g++ 4.4* series
 
Changes in RcppArmadillo version 0.4.550.1.0 (2014-11-26)
- Upgraded to Armadillo release Version 4.550.1 ("Singapore Sling Deluxe") - added matrix exponential function: - expmat()
- faster - .log_p()and- .avg_log_p()functions in the- gmm_diagclass when compiling with OpenMP enabled
- faster handling of in-place addition/subtraction of expressions with an outer product 
- applied correction to - gmm_diagrelative to the 4.550 release
 
- The Armadillo Field type is now converted in - as<>conversions
Changes in RcppArmadillo version 0.4.500.0 (2014-10-30)
- Upgraded to Armadillo release Version 4.500 ("Singapore Sling") - faster handling of complex vectors by - norm()
- expanded - chol()to optionally specify output matrix as upper or lower triangular
- better handling of non-finite values when saving matrices as text files 
 
- The - samplefunctionality has been extended to provide the Walker Alias method (including new unit tests) via a pull request by Christian Gunning
Changes in RcppArmadillo version 0.4.450.1.0 (2014-09-21)
- Upgraded to Armadillo release Version 4.450.1 (Spring Hill Fort) - faster handling of matrix transposes within compound expressions 
- expanded - symmatu()/- symmatl()to optionally disable taking the complex conjugate of elements
- expanded - sort_index()to handle complex vectors
- expanded the - gmm_diagclass with functions to generate random samples
 
- A new random-number implementation for Armadillo uses the RNG from R as a fallback (when C++11 is not selected so the C++11-based RNG is unavailable) which avoids using the older C++98-based - std::rand
- The - RcppArmadillo.package.skeleton()function was updated to only set an "Imports:" for Rcpp, but not RcppArmadillo which (as a template library) needs only LinkingTo:
- The - RcppArmadillo.package.skeleton()function will now prefer- pkgKitten::kitten()over- package.skeleton()in order to create a working package which passes- R CMD check.
- The pkgKitten package is now a - Suggests:
- A manual page was added to provide documentation for the functions provided by the skeleton package. 
- A small update was made to the package manual page. 
Changes in RcppArmadillo version 0.4.400.0 (2014-08-19)
- Upgraded to Armadillo release Version 4.400 (Winter Shark Alley) - added - gmm_diagclass for statistical modelling using Gaussian Mixture Models; includes multi-threaded implementation of k-means and Expectation-Maximisation for parameter estimation
- added - clamp()for clamping values to be between lower and upper limits
- expanded batch insertion constructors for sparse matrices to add values at repeated locations 
- faster handling of subvectors by - dot()
- faster handling of aliasing by submatrix views 
 
- Corrected a bug (found by the g++ Address Sanitizer) in sparse matrix initialization where space for a sentinel was allocated, but the sentinel was not set; with extra thanks to Ryan Curtin for help 
- Added a few unit tests for sparse matrices 
Changes in RcppArmadillo version 0.4.320.0 (2014-07-03)
- Upgraded to Armadillo release Version 4.320 (Daintree Tea Raider) - expanded - eigs_sym()and- eigs_gen()to use an optional tolerance parameter
- expanded - eig_sym()to automatically fall back to standard decomposition method if divide-and-conquer fails
- automatic installer enables use of C++11 random number generator when using gcc 4.8.3+ in C++11 mode 
 
Changes in RcppArmadillo version 0.4.300.8.0 (2014-05-31)
- Upgraded to Armadillo release Version 4.300.8 (Medieval Cornea Scraper) - More robust - norm-related functions
- Fixes between interactions between - cubeand- vectortypes.
 
- Adds a - #define ARMA_DONT_USE_CXX11to provide an option to turn C++11 off for Armadillo (but client packages may still use it)
- More robust Windows detection by using - _WIN32as well as- WIN32as the latter gets diabled by MinGW with C++11
- On Windows, C++11 is turned off as the Armadillo code base uses more features of C++11 than g++ 4.6.2 version in Rtools implements 
Changes in RcppArmadillo version 0.4.300.5.0 (2014-05-19)
- Upgraded to Armadillo release Version 4.300.5 (Medieval Cornea Scraper) - Handle possible underflows and overflows in - norm(),- normalise(),- norm_dot()
- Fix for handling of null vectors by - norm_dot()
 
Changes in RcppArmadillo version 0.4.300.2.0 (2014-05-13)
- Upgraded to Armadillo release Version 4.300.2 (Medieval Cornea Scraper) - faster - find()
 
Changes in RcppArmadillo version 0.4.300.0 (2014-05-04)
- Upgraded to Armadillo release Version 4.300 (Medieval Cornea Scraper) - faster - find()
- added - find_finite()and- find_nonfinite()for finding indices of finite and non-finite elements
- expressions - X=inv(A)*B*Cand- X=A.i()*B*Care automatically converted to X=solve(A,B*C)
 
- Corrected conversion to - unsigned intvectors and matrices
- Configure script now checks for R version 3.0.3 or newer to enable complex divide-and-conquer SVD in case of R-supplied LAPACK 
Changes in RcppArmadillo version 0.4.200.0 (2014-04-07)
- Upgraded to Armadillo release Version 4.200 (Flintlock Swoop) - faster transpose of sparse matrices 
- more efficient handling of aliasing during matrix multiplication 
- faster inverse of matrices marked as diagonal 
 
Changes in RcppArmadillo version 0.4.100.2 (2014-03-07)
- Upgraded to Armadillo release Version 4.100.2 - fix for handling null vectors by - normalise()
- fix for memory handling by sparse matrices 
 
- Correct use of - [[ depends()]]in skeleton example file
- Prepare - src/Makevarsfor C++11 support from R 3.1.0 by defining- USE_CXX11which is currently commented out
- In the Armadillo configuration, turn on C++11 support if - USE_CXX11is defined
Changes in RcppArmadillo version 0.4.100.0 (2014-02-28)
- Upgraded to Armadillo release Version 4.100.0 (Dirt Cruiser) - added - normalise()for normalising vectors to unit p-norm
- extended the - fieldclass to handle 3D layout
- extended - eigs_sym()and- eigs_gen()to obtain eigenvalues of various forms (eg. largest or smallest magnitude)
- automatic SIMD vectorisation of elementary expressions (eg. matrix addition) when using Clang 3.4+ with -O3 optimisation 
- faster handling of sparse submatrix views 
- workaround for a bug in LAPACK 3.4 
 
Changes in RcppArmadillo version 0.4.000.4 (2014-02-19)
- Upgraded to Armadillo release Version 4.000.4 - fix for - randi()generating out-of-interval values
- fix for saving field objects 
- workaround for a bug in the Intel compiler 
 
- Updated for Rcpp (>= 0.11.0) by removing linking step from build process, added appropriate dependency on Rcpp 
- Updated - RcppArmadillo.package.skeletonfunction accordingly to use proper- NAMESPACEimport
- Rewritten - rcpparma_hello_world(which is used by the- RcppArmadillo.package.skeletonfunction) to use Rcpp Attributes, and added more examples
- Added two functions to set Armadillo's RNGs (ie the system RNG) from a given value and to randomize it, as suggested by Gábor Csárdi. Note that these do not work within RStudio (which itself also uses the same system RNG). 
Changes in RcppArmadillo version 0.4.000.2 (2014-01-21)
- Upgraded to Armadillo release Version 4.000.2 - fix for - randi()generating out-of-interval values
- workaround for a bug in the Intel compiler 
 
Changes in RcppArmadillo version 0.4.000 (2014-01-05)
- Upgraded to Armadillo release Version 4.000 (Feral Steamroller) - added eigen decompositions of sparse matrices: - eigs_sym()and- eigs_gen()[ but this requires linking against ARPACK which RcppArmadillo as a pure-template package does not do, and R is not linked against ARPACK either. ]
- added eigen decomposition for pair of matrices: - eig_pair()
- added simpler forms of - eig_gen()
- added condition number of matrices: - cond()
- expanded - find()to handle cubes
- expanded subcube views to access elements specified in a vector 
- template argument for - running_stat_vecexpanded to accept vector types
- more robust fast inverse of 4x4 matrices 
- faster divide-and-conquer decompositions are now used by default for - eig_sym(),- pinv(),- princomp(),- rank(),- svd(),- svd_econ()
- the form - inv(sympd(X))no longer assumes that X is positive definite; use- inv_sympd()instead
- added MEX connector for interfacing Octave/Matlab with Armadillo matrices (contributed by George Yammine) 
 
Changes in RcppArmadillo version 0.3.930.1 (2013-12-09)
- Upgraded to Armadillo release Version 3.930.1 - Armadillo falls back to standard complex svd if the more performant divide-and-conquer variant is unavailable 
 
- Added detection for Lapack library and distinguish between R's own version (withhout zgesdd) and system Lapack; a preprocessor define is set accordingly 
Changes in RcppArmadillo version 0.3.930.0 (2013-12-06)
- Upgraded to Armadillo release Version 3.930 ("Dragon's Back") - added divide-and-conquer variant of - svd_econ(), for faster SVD
- added divide-and-conquer variant of - pinv(), for faster pseudo-inverse
- added element-wise variants of - min()and- max()
- added - size()based specifications of submatrix view sizes
- added - randi()for generating matrices with random integer values
- added more intuitive specification of sort direction in - sort()and- sort_index()
- added more intuitive specification of method in - det(),- .i(),- inv()and- solve()
- added more precise timer for the - wall_clockclass when using C++11
 
- New unit tests for complex matrices and vectors 
Changes in RcppArmadillo version 0.3.920.3 (2013-11-20)
- Upgraded to Armadillo release Version 3.920.3 - fix for handling of tiny matrices by - .swap()
 
Changes in RcppArmadillo version 0.3.920.1 (2013-09-27)
- Upgraded to Armadillo release Version 3.920.1 (Agencia Nacional Stasi) - faster - .zeros()
- faster - round(),- exp2()and- log2()when using C++11
- added signum function: - sign()
- added move constructors when using C++11 
- added 2D fast Fourier transform: - fft2()
- added - .tube()for easier extraction of vectors and subcubes from cubes
- added specification of a fill type during construction of Mat, Col, Row and Cube classes, eg. - mat X(4, 5, fill::zeros)
 
- Initial implementation of - wrap<subview>
- Improved implementation of - as<>()and- wrap()for sparse matrices
- Converted main vignette from - LaTeXstyle- mintedto- lstlistingwhich permits builds on CRAN; removed set- BuildVignettes: FALSE.
Changes in RcppArmadillo version 0.3.910.0 (2013-08-12)
- Upgraded to Armadillo release Version 3.910.0 (Pyrenees) - faster multiplication of a matrix with a transpose of itself, ie. - X*X.t()and- X.t()*X
- added - vectorise()for reshaping matrices into vectors
- added - all()and- any()for indicating presence of elements satisfying a relational condition
 
- Added conversion support for sparse matrices (of type double) created by the Matrix package as class - dgCMatrix
- Moved vignette sources from - inst/docto- vignettes; set- BuildVignettes: FALSEas the- mintedmode for- LaTeXupsets the CRAN builders.
Changes in RcppArmadillo version 0.3.900.7 (2013-08-02)
- Upgraded to Armadillo release Version 3.900.7 (Bavarian Sunflower) - minor fix for inplace - reshape()
- minor corrections for compilation issues under GCC 4.8+ and MSVC 
 
- Corrected setting of - vec_statsin intialization of row, vector and matrix objects
- The inline package is no longer used in the examples and unit tests which have all been converted to using Rcpp attributes 
Changes in RcppArmadillo version 0.3.900 (2013-06-04)
- Upgraded to Armadillo release Version 3.900.0 (Bavarian Sunflower) - added automatic SSE2 vectorisation of elementary expressions (eg. matrix addition) when using GCC 4.7+ with -O3 optimisation 
- added support for saving & loading of cubes in HDF5 format, contributed by Szabolcs Horvat 
- faster - median(), contributed by Ruslan Shestopalyuk
- faster handling of compound expressions with transposes of submatrix rows 
- faster handling of compound expressions with transposes of complex vectors 
 
- Kalman filter example switched from inline to - sourceCpp, which simplifies / streamlines the C++ side a little
Changes in RcppArmadillo version 0.3.820 (2013-05-12)
- 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 
 
Changes in RcppArmadillo version 0.3.810.2 (2013-04-30)
- Upgraded to Armadillo release Version 3.810.2 - minor fix for initialisation of sparse matrices 
 
Changes in RcppArmadillo version 0.3.810.0 (2013-04-19)
- 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 
Changes in RcppArmadillo version 0.3.800.1 (2013-03-12)
- 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 
Changes in RcppArmadillo version 0.3.800.0 (2013-03-01)
- 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 
Changes in RcppArmadillo version 0.3.6.3 (2013-02-20)
- 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 
 
Changes in RcppArmadillo version 0.3.6.2 (2013-01-29)
- 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 
Changes in RcppArmadillo version 0.3.6.1 (2012-12-17)
- 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.his included before- RcppArmadillo.h(as the former is included automatically by the latter anyway, but template logic prefers this ordering).
Changes in RcppArmadillo version 0.3.4.3 (2012-10-04)
- Upgraded to Armadillo release 3.4.3 - fix for aliasing issue in - diagmat()
- fix for - speye()signature
 
Changes in RcppArmadillo version 0.3.4.2 (2012-09-25)
- Upgraded to Armadillo release 3.4.2 - minor fixes for handling sparse submatrix views 
- minor speedups for sparse matrices 
 
Changes in RcppArmadillo version 0.3.4.1 (2012-09-18)
- 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 
 
Changes in RcppArmadillo version 0.3.4.0 (2012-09-06)
- 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 
Changes in RcppArmadillo version 0.3.3.91 (2012-08-30)
- 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 
Changes in RcppArmadillo version 0.3.2.4 (2012-07-11)
- Upgraded to Armadillo release 3.2.4 - workaround for a regression (bug) in GCC 4.7.0 and 4.7.1 
 
Changes in RcppArmadillo version 0.3.2.3 (2012-07-01)
- 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 
 
Changes in RcppArmadillo version 0.3.2.0 (2012-05-21)
- 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 
 
Changes in RcppArmadillo version 0.3.1.94 (2012-05-15)
- 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) 
 
Changes in RcppArmadillo version 0.3.1.92 (2012-05-10)
- 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 
 
Changes in RcppArmadillo version 0.3.0.3 (2012-05-03)
- 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 
Changes in RcppArmadillo version 0.3.0.2 (2012-04-19)
- 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 
Changes in RcppArmadillo version 0.3.0.1 (2012-04-12)
- Upgraded to Armadillo release 3.0.1 - fixes for compilation errors 
- fixes for potential aliasing issues 
 
Changes in RcppArmadillo version 0.3.0 (2012-04-10)
- 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) 
 
Changes in RcppArmadillo version 0.2.40 (2012-04-04)
- Upgraded to Armadillo release 2.99.4 "Antarctic Chilli Ranch (Beta 4)" - fixes for handling expressions with fixed size matrices 
 
Changes in RcppArmadillo version 0.2.39 (2012-04-02)
- Upgraded to Armadillo release 2.99.3 "Antarctic Chilli Ranch (Beta 3)" - faster repmat() 
- workarounds for braindead compilers (eg. Visual Studio) 
 
Changes in RcppArmadillo version 0.2.38 (2012-03-28)
- 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) 
 
Changes in RcppArmadillo version 0.2.37 (2012-03-19)
- 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() 
 
Changes in RcppArmadillo version 0.2.36 (2012-03-05)
- Upgraded to Armadillo release 2.4.4 - fixes for qr() and syl() 
- more portable wall_clock class 
- faster relational operators on submatrices 
 
Changes in RcppArmadillo version 0.2.35 (2012-02-17)
- 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 
 
 
Changes in RcppArmadillo version 0.2.34 (2011-12-12)
- Upgraded to Armadillo release 2.4.2 - clarified documentation for .reshape() 
- fix for handling of empty matrices by .resize() 
 
Changes in RcppArmadillo version 0.2.33 (2011-12-07)
- Upgraded to Armadillo release 2.4.1 - added .resize() 
- fix for vector initialisation 
 
Changes in RcppArmadillo version 0.2.32 (2011-12-04)
- 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 
 
Changes in RcppArmadillo version 0.2.31 (2011-11-28)
- 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 
 
Changes in RcppArmadillo version 0.2.30 (2011-11-19)
- 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 
 
Changes in RcppArmadillo version 0.2.29 (2011-09-01)
- Upgraded to Armadillo release 2.2.3 - Release fixes a speed issue in the as_scalar() function. 
 
Changes in RcppArmadillo version 0.2.28 (2011-08-02)
- 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 
 
Changes in RcppArmadillo version 0.2.27 (2011-07-22)
- 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() 
 
Changes in RcppArmadillo version 0.2.26 (2011-07-17)
- 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() 
 
Changes in RcppArmadillo version 0.2.25 (2011-06-30)
- Upgraded to Armadillo 2.0.1 which fixes two minor compilation issues 
Changes in RcppArmadillo version 0.2.24 (2011-06-29)
- 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() 
 
Changes in RcppArmadillo version 0.2.23 (2011-06-23)
- 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 
Changes in RcppArmadillo version 0.2.22 (2011-06-06)
- Upgraded to Armadillo release 1.99.4 "v2.0 beta 4" - fixes for handling of tiny matrices 
 
Changes in RcppArmadillo version 0.2.21 (2011-05-27)
- 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 
 
Changes in RcppArmadillo version 0.2.20 (2011-05-25)
- 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 
Changes in RcppArmadillo version 0.2.19 (2011-04-18)
- 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 
 
Changes in RcppArmadillo version 0.2.18 (2011-04-03)
- Upgraded to Armadillo version 1.1.92 "Jurassic Barbecue" - Bugfix in cor() 
- Automatic installation now requires CMake >= 2.6 
 
Changes in RcppArmadillo version 0.2.17 (2011-03-22)
- Upgraded to Armadillo version 1.1.90 "Inside Job" - Added .min() & .max(), which can provide the extremum's location 
- More robust mean(), var(), stddev() 
 
Changes in RcppArmadillo version 0.2.16 (2011-03-10)
- 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() 
 
Changes in RcppArmadillo version 0.2.15 (2011-03-04)
- 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 
 
Changes in RcppArmadillo version 0.2.14 (2011-03-02)
- 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 
Changes in RcppArmadillo version 0.2.13 (2011-02-18)
- 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 
 
Changes in RcppArmadillo version 0.2.12 (2011-02-15)
- 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 
 
Changes in RcppArmadillo version 0.2.11 (2011-01-06)
- 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')" 
Changes in RcppArmadillo version 0.2.10 (2010-11-25)
- 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 
Changes in RcppArmadillo version 0.2.9 (2010-11-11)
- Upgraded to Armadillo 0.9.92 "Wall Street Gangster": - Fixes for compilation issues under the Intel C++ compiler 
- Added matrix norms 
 
Changes in RcppArmadillo version 0.2.8 (2010-10-16)
- 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 
Changes in RcppArmadillo version 0.2.7 (2010-09-25)
- 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 
 
Changes in RcppArmadillo version 0.2.6 (2010-09-12)
- 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. 
Changes in RcppArmadillo version 0.2.5 (2010-08-05)
- Upgraded to Armadillo 0.9.60 "Killer Bush Turkey" 
Changes in RcppArmadillo version 0.2.4 (2010-07-27)
- 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 
Changes in RcppArmadillo version 0.2.3 (2010-06-14)
- Better configuration to detect suncc (which does not have std::isfinite) 
Changes in RcppArmadillo version 0.2.2 (2010-06-09)
- 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. 
Changes in RcppArmadillo version 0.2.1 (2010-05-19)
- Bug-fix release permitting compilation on Windows 
Changes in RcppArmadillo version 0.2.0 (2010-05-18)
- 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 
Changes in RcppArmadillo version 0.1.0 (2010-03-11)
- 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