NEWS | R Documentation |
News for Package RcppArmadillo
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()
andrcond()
Faster handling of hermitian matrices by
inv()
,rcond()
,cond()
,pinv()
,rank()
Added
solve_opts::force_sym
option tosolve()
to force the use of the symmetric solverMore efficient handling of compound expressions by
solve()
Added exporter specialisation for
icube
for theARMA_64BIT_WORD
case
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 matricesExpanded relational operators to handle expressions between sparse matrices and scalars
Added
.as_dense()
to obtain dense vector/matrix representation of any sparse matrix expressionUpdated physical constants to NIST 2022 CODATA values
New package version numbering scheme following upstream versions
Re-enabling
ARMA_IGNORE_DEPRECATED_MARKE
for 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()
andfft2()
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()
andrank()
Expanded
shift()
to handle sparse matricesExpanded
conv_to
for more flexible conversions between sparse and dense matricesAdded
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_MARKER
asPKG_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()
andsvds()
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()
andarma_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()
andeigs_gen()
faster
conv()
andconv2()
when using OpenMPadded
diags()
andspdiags()
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()
andfind_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()
andifft()
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()
andifft()
via optional use of FFTW3faster
min()
andmax()
faster
index_min()
andindex_max()
added
.col_as_mat()
and.row_as_mat()
which return matrix representation of cube column and cube rowadded
csv_opts::strict
option to loading CSV files to interpret missing values as NaNadded
check_for_zeros
option to form 4 of sparse matrix batch constructors-
inv()
andinv_sympd()
with optionsinv_opts::no_ugly
orinv_opts::allow_approx
now 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 operationsadded
find_nan()
to find indices of NaN elementsfaster 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_MARKER
remains 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
NDEBUG
behind 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_SOURCE
enabled (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 operationsadded
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, usearma::dot()
to compute to the inner product (as proposed by Conrad), plus small editsSupport optional
#define
namedRCPPARMADILLO_FORCE_DEPRECATE
to suppress use ofARMA_IGNORE_DEPRECATED_MARKER
permitting 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_deprecated
warning 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 acceptCube::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 warninguse of the old and inactive
ARMA_DONT_PRINT_ERRORS
option will now emit a compile-time deprecation warningthe option
ARMA_WARN_LEVEL
can 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()
andrandn()
to allow specification of distribution parametersinternal 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_ugly
option toinv()
andinv_sympd()
to disallow inverses of poorly conditioned matricesmore efficient handling of rank-deficient matrices via
inv_opts::allow_approx
option ininv()
andinv_sympd()
better detection of rank deficient matrices by
solve()
faster handling of symmetric and diagonal matrices by
cond()
The
configure
script 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()
andinv_sympd()
functions when usinginv_opts::allow_approx
andinv_opts::tiny
options
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()
andinv_sympd()
that provide rcond (reciprocal condition number)expanded
inv()
andinv_sympd()
with optionsinv_opts::tiny
andinv_opts::allow_approx
stricter handling of singular matrices by
inv()
andinv_sympd()
stricter handling of non-sympd matrices by
inv()
andinv_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()
andeigs_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()
andrank()
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()
andrank()
faster handling of diagonal matrices by
inv_sympd()
,pinv()
,rank()
expanded
norm()
to handle integer vectors and matricesadded
datum::tau
to replace2π
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::field
types, protected by#define
(Jonathan Berrisch in #352 fixing #351)Add unit tests for
fields
both 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()
andmax()
in compound expressionsexpanded
solve()
withsolve_opts::force_approx
option 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
constexpr
for handling fixed-size matrices and vectorsimproved 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 decompositionexpanded 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::semicolon
option 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 functionexpanded the standalone
clamp()
function to handle complex valuesmore efficient use of OpenMP
vector, matrix and cube constructors now initialise elements to zero by default; use the
fill::none
specifier, eg.mat X(4,5,fill::none)
, to disable element initialisation
Added
codecov.yml
to 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 matricesadded 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::randn
draws when using alternative (here R) generator, andarma::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 formatfor out of bounds access, element accessors now throw the more nuanced
std::out_of_range
exception, instead of onlystd::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 & cubesexpanded forms of
trimatu()
andtrimatl()
with diagonal specification to handle sparse matricesexpanded
eigs_sym()
andeigs_gen()
with optional shift-invert mode
Removed
debian/
directory from repository as packaging is on salsa.debian.org.Relaxed tolerance on two
cube
tests 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 & cubesexpanded forms of
trimatu()
andtrimatl()
with diagonal specification to handle sparse matricesexpanded
eigs_sym()
andeigs_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
NaN
correction (Conrad in #321)Added GitHub Actions CI using
run.sh
from 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()
andtrimatl()
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()
andeigs_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 classesignore and warn on use of the
ARMA_DONT_USE_CXX11
macro
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 expressionsIn
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 systemsfaster
eig_gen()
andeig_pair()
for large matricesexpanded
eig_gen()
andeig_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 inNAMESPACE
.
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 decompositionupdated physical constants to NIST 2018 CODATA values
added
ARMA_DONT_USE_CXX11_MUTEX
confguration option to disable use ofstd::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()
anddiagmat()
added
trimatu_ind()
andtrimatl_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) specificationadded
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
sample
function 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; usesolve_opts::refine
to explicitly enable refinementfaster
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.ac
script 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()
andindex_max()
expanded
join_rows()
andjoin_cols()
to handle joining up to 4 matricesexpanded
.save()
and.load()
to allow storing sparse matrices in CSV formatadded
randperm()
to generate a vector with random permutation of a sequence of integers
Expanded the list of known good
gcc
andclang
versions inconfigure.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()
andsymmatl()
faster handling of sparse matrices by
join_cols()
expanded
clamp()
to handle sparse matricesadded
.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()
withsolve_opts::likely_sympd
to indicate that the given matrix is likely positive definitemore robust automatic detection of positive definite matrices by
solve()
andinv()
faster handling of sparse submatrices
expanded
eigs_sym()
to print a warning if the given matrix is not symmetricextended 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()
andcor()
added
.as_col()
and.as_row()
expanded
.shed_rows()
/.shed_cols()
/.shed_slices()
to remove rows/columns/slices specified in a vectorexpanded
vectorise()
to handle sparse matricesexpanded element-wise versions of
max()
andmin()
to handle sparse matricesoptimised handling of sparse matrix expressions:
sparse % (sparse +- scalar)
andsparse / (sparse +- scalar)
expanded
eig_sym()
,chol()
,expmat_sym()
,logmat_sympd()
,sqrtmat_sympd()
,inv_sympd()
to print a warning if the given matrix is not symmetricmore 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 definiteAdded
interp2()
for 2D data interpolationAdded
expm1()
andlog1p()
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 insample()
in R 3.6.0Back-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 theCube
class
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 argumentsexpanded 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 typesexpanded
solve()
to optionally allow keeping solutions of systems singular to working precisionworkaround for
gcc
andclang
bug 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 expressionsadded
.is_symmetric()
added
.is_hermitian()
expanded
spsolve()
to optionally allow keeping solutions of systems singular to working precisionnew configuration options
ARMA_OPTIMISE_SOLVE_BAND
andARMA_OPTIMISE_SOLVE_SYMPD
smarter use of the element cache in sparse matricessmarter 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 decompositionadded
.row()
,.rows()
,.col()
,.cols()
to subcube viewsexpanded
.shed_rows()
and.shed_cols()
to handle cubesexpanded
.insert_rows()
and.insert_cols()
to handle cubesexpanded 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
slam
to Suggests: as it is used in two unit test functions [CRAN requests]The
RcppArmadillo.package.skeleton()
function now works withexample_code=FALSE
when 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()
andrepmat()
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 matricesexpanded
.transform()
and.for_each()
to handle sparse matricesadded
reverse()
for reversing order of elementsadded
repelem()
for replicating elementsadded
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 matricesexpanded
index_min()
andindex_max()
to handle cubesexpanded
randi()
,randu()
,randn()
,randg()
to output single scalarsadded submatrix & subcube iterators
added
normcdf()
added
mvnrnd()
added
chi2rnd()
added
wishrnd()
andiwishrnd()
The
configure
generated 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 OpenMPadded
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_matrix
is 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
-fopenmp
flags by settingARMA_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
SpMat
to save/load sparse matrices in coord formatexpanded
.save()
,.load()
to allow specification of datasets within HDF5 filesadded
affmul()
to simplify application of affine transformationswarnings and errors are now printed by default to the
std::cerr
streamadded
set_cerr_stream()
andget_cerr_stream()
to replaceset_stream_err1()
,set_stream_err2()
,get_stream_err1()
,get_stream_err2()
new configuration options
ARMA_COUT_STREAM
andARMA_CERR_STREAM
Constructors for sparse matrices of types
dgt
,dtt
amddst
now 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
fastLm
C++ function tofastLm_impl
to 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_diag
class, for Gaussian mixture models with diagonal covariance matricesadded
.sum_log_p()
to thegmm_diag
classadded
gmm_full
class, for Gaussian mixture models with full covariance matricesexpanded
.each_slice()
to optionally use OpenMP for multi-threaded execution
Upgraded to Armadillo release 7.950.0 (Northern Banana Republic)
expanded
accu()
andsum()
to use OpenMP for processing expressions with computationally expensive element-wise functionsexpanded
trimatu()
andtrimatl()
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
dtCMatrix
anddsCMatrix
(#135)Add conversion and unit tests for
dgT
,dtT
anddsTMatrix
(#136)Add conversion and unit tests for
dgR
,dtR
anddsRMatrix
(#139)Add conversion and unit tests for
pMatrix
andddiMatrix
(#140)Rewrite conversion for
dgT
,dtT
anddsTMatrix
, 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
#define
is 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 cubesComputationally 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 compilersOne caveat: when using GCC, use of
-march=native
in conjunction with-fopenmp
may 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
rmultinom
was 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
DESCRIPTION
file now mentions the Apache License 2.0, as well as the former MPL2 license used for earlier releases.A new file
init.c
was added with calls toR_registerRoutines()
andR_useDynamicSymbols()
Symbol registration is enabled in
useDynLib
The
fastLm
example 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()
andpolyval()
added second form of
log_det()
to directly return the result as a complex numberadded
range()
to statistics functionsexpanded
trimatu()
/trimatl()
andsymmatu()
/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()
andeigs_gen()
expanded
floor()
,ceil()
,round()
,trunc()
,sign()
to handle sparse matricesadded
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.h
extension 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 formExpanded
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()
andindex_max()
standalone functionsexpanded
.subvec()
to acceptsize()
argumentsmore 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 indicesexpanded
sub2ind()
to handle matrix of subscriptsexpanded
expmat()
,logmat()
andsqrtmat()
to optionally return a bool indicating successfaster handling of compound expressions by
vectorise()
The
configure
code now (once again) sets the values for the LAPACK feature#define
correctly.
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
configure
code now checks against oldg++
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()
andtrunc_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
SpMat
exporter (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 logarithmadded
regspace()
for generating vectors with regularly spaced elementsadded
logspace()
for generating vectors with logarithmically spaced elementsadded
approx_equal()
for determining approximate equalityadded
trapz()
for numerical integrationexpanded
.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 cubesexpanded
Cube
class to handle arbitrarily sized empty cubes (eg. 0x5x2)added
shift()
for circular shifts of elementsadded
sqrtmat()
for finding the square root of a matrixfix for
gmm_diag
when using Mahalanobis distance
The
configure
script 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 convolutionadded stand-alone
kmeans()
function for clustering dataadded
trunc()
extended
conv()
to optionally provide central convolutionfaster handling of multiply-and-accumulate by
accu()
when using Intel MKL, ATLAS or OpenBLAS
The
configure
script now uses#!/usr/bin/env bash
to 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()
andeach_slice()
to handle C++11 lambda functionsadded
ind2sub()
andsub2ind()
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.hpp
for limited LAPACK
Updated test and
#define
for 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 systemsfaster handling of non-contiguous submatrix views in compound expressions
added
.for_each()
to Mat, Row, Col, Cube and field classesadded
rcond()
for estimating the reciprocal condition numberfixes for
spsolve()
,eigs_sym()
,eigs_gen()
,svds()
Added support for
Cube
types viaas<>
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 diagonalsexpanded
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()
andnormalise()
when using ATLAS or OpenBLASadded Schur decomposition:
schur()
stricter handling of matrix objects by
hist()
andhistc()
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 operationsadded
.each_slice()
for repeated matrix operations on each slice of a cubefaster handling of compound expressions by
join_rows()
andjoin_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 dimensionsfaster 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 valuesadded
diff()
for calculating differences between consecutive elementsadded
cumprod()
for calculating cumulative productadded
null()
for finding the orthonormal basis of null spaceexpanded
interp1()
to handle repeated locationsexpanded
unique()
to handle complex numbersfaster
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 locationsexpanded sparse matrix class with
.set_imag()
and.set_real()
expanded
imag()
,real()
andconj()
to handle sparse matricesexpanded
diagmat()
,reshape()
andresize()
to handle sparse matricesfaster 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
importFrom
statements for R functions not from baseAdded explicit
Rcpp::sourceCpp()
reference as wellUpdated 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 matrixexpanded 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 interpolationadded
.is_sorted()
for checking whether a vector or matrix has sorted elementsupdated 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 equationsadded
svds()
for singular value decomposition of sparse matricesadded
nonzeros()
for extracting non-zero values from matricesadded handling of diagonal views by sparse matrices
expanded
repmat()
to handle sparse matricesexpanded
join_rows()
andjoin_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 viewsadded
.head_cols()
and.tail_cols()
to submatrix viewsexpanded
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 viewsfaster matrix transposes within compound expressions
faster
accu()
andnorm()
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 thegmm_diag
class when compiling with OpenMP enabledfaster handling of in-place addition/subtraction of expressions with an outer product
applied correction to
gmm_diag
relative 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 triangularbetter handling of non-finite values when saving matrices as text files
The
sample
functionality 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 elementsexpanded
sort_index()
to handle complex vectorsexpanded the
gmm_diag
class 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 preferpkgKitten::kitten()
overpackage.skeleton()
in order to create a working package which passesR 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_diag
class for statistical modelling using Gaussian Mixture Models; includes multi-threaded implementation of k-means and Expectation-Maximisation for parameter estimationadded
clamp()
for clamping values to be between lower and upper limitsexpanded 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()
andeigs_gen()
to use an optional tolerance parameterexpanded
eig_sym()
to automatically fall back to standard decomposition method if divide-and-conquer failsautomatic 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 functionsFixes between interactions between
cube
andvector
types.
Adds a
#define ARMA_DONT_USE_CXX11
to provide an option to turn C++11 off for Armadillo (but client packages may still use it)More robust Windows detection by using
_WIN32
as well asWIN32
as the latter gets diabled by MinGW with C++11On 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()
andfind_nonfinite()
for finding indices of finite and non-finite elementsexpressions
X=inv(A)*B*C
andX=A.i()*B*C
are automatically converted to X=solve(A,B*C)
Corrected conversion to
unsigned int
vectors and matricesConfigure 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 filePrepare
src/Makevars
for C++11 support from R 3.1.0 by definingUSE_CXX11
which is currently commented outIn the Armadillo configuration, turn on C++11 support if
USE_CXX11
is 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-normextended the
field
class to handle 3D layoutextended
eigs_sym()
andeigs_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 valuesfix 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.skeleton
function accordingly to use properNAMESPACE
importRewritten
rcpparma_hello_world
(which is used by theRcppArmadillo.package.skeleton
function) to use Rcpp Attributes, and added more examplesAdded 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 valuesworkaround 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()
andeigs_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 cubesexpanded subcube views to access elements specified in a vector
template argument for
running_stat_vec
expanded to accept vector typesmore 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; useinv_sympd()
insteadadded 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 SVDadded divide-and-conquer variant of
pinv()
, for faster pseudo-inverseadded element-wise variants of
min()
andmax()
added
size()
based specifications of submatrix view sizesadded
randi()
for generating matrices with random integer valuesadded more intuitive specification of sort direction in
sort()
andsort_index()
added more intuitive specification of method in
det()
,.i()
,inv()
andsolve()
added more precise timer for the
wall_clock
class 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()
andlog2()
when using C++11added 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 cubesadded 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<>()
andwrap()
for sparse matricesConverted main vignette from
LaTeX
styleminted
tolstlisting
which permits builds on CRAN; removed setBuildVignettes: 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()
andX.t()*X
added
vectorise()
for reshaping matrices into vectorsadded
all()
andany()
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/doc
tovignettes
; setBuildVignettes: FALSE
as theminted
mode forLaTeX
upsets 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_stats
in intialization of row, vector and matrix objectsThe 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 Shestopalyukfaster 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 expressionsfaster 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 subcubesadded 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 expressionadded
.swap()
for swapping contents with another matrixadded
.transform()
for transforming a matrix/cube using a functor or lambda expressionadded
round()
for rounding matrix elements towards nearest integerfaster
find()
fixes for handling non-square matrices by
qr()
andqr_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.h
is included beforeRcppArmadillo.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