Armadillo C++ matrix library / News: Recent posts

Armadillo C++ linear algebra: version 4.450

Version 4.450 contains speedups and feature enhancements.
Available from http://arma.sourceforge.net

  • 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_diag class with functions to generate random samples
Posted by Conrad Sanderson 2014-09-19

Armadillo C++ linear algebra: version 4.400

Version 4.400 contains speedups and feature enhancements.
Available from http://arma.sourceforge.net

  • faster handling of subvectors by dot()
  • faster handling of aliasing by submatrix views
  • expanded batch insertion constructors for sparse matrices to add values at repeated locations
  • added clamp() for clamping values to be between lower and upper limits
  • added gmm_diag class for statistical modelling using Gaussian Mixture Models; includes multi-threaded (parallelised) implementation of k-means and Expectation-Maximisation for parameter estimation
Posted by Conrad Sanderson 2014-08-19

Armadillo C++ linear algebra: version 4.320

Version 4.320 contains enhancements and speedups.
Available from http://arma.sourceforge.net

  • 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
Posted by Conrad Sanderson 2014-07-02

Armadillo C++ linear algebra: version 4.300

Version 4.300 contains enhancements and speedups.
Available from http://arma.sourceforge.net
- faster find()
- added find_finite() and find_nonfinite() for finding indices of finite and non-finite elements
- expressions X=inv(A) * B * C and X=A.i() * B * C are automatically converted to X=solve(A,B*C)

Posted by Conrad Sanderson 2014-05-03

Armadillo C++ linear algebra: version 4.200

Version 4.200 contains enhancements and speedups.
Available from http://arma.sourceforge.net
- faster transpose of sparse matrices
- more efficient handling of aliasing during matrix multiplication
- faster inverse of matrices marked as diagonal

Posted by Conrad Sanderson 2014-04-07

Armadillo C++ linear algebra: version 4.100

Version 4.100 contains new functionality and enhancements.
Available from http://arma.sourceforge.net
- added normalise() for normalising vectors to unit p-norm
- extended the field class 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 ... read more

Posted by Conrad Sanderson 2014-02-28

Armadillo C++ linear algebra: version 4.000

Version 4.000 contains new functionality and enhancements.
Available from http://arma.sourceforge.net
- added eigen decompositions of sparse matrices: eigs_sym() and eigs_gen()
- 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_vec expanded 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(), rank(), svd(), svd_econ()
- added MEX connector for interfacing Octave/Matlab with Armadillo matrices

Posted by Conrad Sanderson 2014-01-05

Armadillo C++ linear algebra: v3.930

The 3.930 update has numerous enhancements:
- 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_clock class when using C++11 ... read more

Posted by Conrad Sanderson 2013-12-06

Armadillo C++ linear algebra: v3.920

This release adds functions for 2D fast Fourier transform and various speedups when using C++11. It also adds functions for easier extraction of vectors and subcubes from cubes.

Available from http://arma.sourceforge.net

Posted by Conrad Sanderson 2013-10-02

Armadillo C++ linear algebra: v3.910

This release has faster multiplication of matrices with their corresponding transposes. It also adds functions for indicating the presence of elements satisfying a relational condition.

Armadillo is a fast C++ matrix library, available from http://arma.sourceforge.net/

Posted by Conrad Sanderson 2013-08-12

Armadillo C++ linear algebra: v3.900

This release adds automatic vectorisation (eg. SSE2) of elementary expressions (eg. matrix addition) when using GCC 4.7+ with -O3 optimisation. It also adds detection of OpenBLAS during installation. OpenBLAS is a high performance (parallelised) implementation of BLAS, greatly speeding up matrix multiplication, etc.

Armadillo is a fast C++ matrix library, available from http://arma.sourceforge.net/ ... read more

Posted by Conrad Sanderson 2013-06-04

Armadillo C++ linear algebra: v3.820

This release has various speedups for handling of small vectors and fixed-size matrices.

Armadillo is a fast C++ matrix library linking with LAPACK or high-speed LAPACK replacements, such as the multi-threaded Intel MKL. Available from http://arma.sourceforge.net/

Posted by Conrad Sanderson 2013-05-12

Armadillo C++ linear algebra: v3.810

This release adds the fast Fourier transform (FFT), as well as batch insertion constructors for sparse matrices. Detection of recent versions of Intel MKL has been improved. It also contains fixes for handling sparse matrices.

Armadillo is a fast C++ matrix library linking with LAPACK or high-speed LAPACK replacements, such as the multi-threaded Intel MKL. Available from http://arma.sourceforge.net/

Posted by Conrad Sanderson 2013-04-29

Armadillo C++ linear algebra: v3.800

Armadillo is now licensed using Mozilla Public License 2.0. This release adds functions for filling and transforming matrices via functors and lambda expressions. It also contains fixes for handling non-square matrices by qr() and qr_econ().

Armadillo is a fast C++ matrix library linking with LAPACK or high-speed LAPACK replacements, such as the multi-threaded Intel MKL. Available from http://arma.sourceforge.net/

Posted by Conrad Sanderson 2013-03-01

Armadillo C++ linear algebra: v3.6 released

Version 3.6 contains faster handling of submatrices and subcubes. It also expands the functionality of sparse matrices.

Armadillo is a fast C++ matrix library linking with LAPACK or high-speed LAPACK replacements such as Intel MKL. Available from http://arma.sourceforge.net/

Posted by Conrad Sanderson 2012-12-07

Armadillo C++ linear algebra: v3.2

Version 3.2 contains faster eigen decomposition, as well as faster handling of diagonal views, fixed size vectors and transposes.

Armadillo is a fast C++ matrix library with optional interfaces to LAPACK, MKL, ACML and ATLAS functions. Available from http://arma.sourceforge.net/

Posted by Conrad Sanderson 2012-05-21

Armadillo C++ matrix library: v2.0 ready

Armadillo is a fast C++ matrix library with optional interfaces to LAPACK and ATLAS functions. Available from http://arma.sourceforge.net/
Version 2.0 is the new stable release. It contains speedups and added functionality.

Posted by Conrad Sanderson 2011-06-29

Armadillo C++ matrix library: 1.2.0 available

Armadillo is a fast C++ matrix library with optional interfaces to LAPACK and ATLAS functions. Available from http://arma.sourceforge.net/
Version 1.2.0 is the new stable release. It has minor bugfixes and code cleanups to reduce pedantic compiler warnings.

Posted by Conrad Sanderson 2011-04-18

Armadillo C++ matrix library: 1.1.90 ready

Armadillo is a fast C++ matrix library with optional interfaces to LAPACK and ATLAS functions. Available from http://arma.sourceforge.net/
Version 1.1.90 has more robust mean(), var() and stddev() functions. It also adds .min() and .max() member functions, which can provide the extremum's location.

Posted by Conrad Sanderson 2011-03-22

Armadillo C++ matrix library: 1.1.8 available

Armadillo is a fast C++ matrix library with optional interfaces to LAPACK and ATLAS functions. Available from http://arma.sourceforge.net/
Version 1.1.8 has faster min(), max() and mean() functions. It also adds floor(), ceil(), math::nan(), math::inf() functions, as well as a bugfix for a corner case in min() and max().

Posted by Conrad Sanderson 2011-03-10

Armadillo C++ matrix library: 1.1.6 available

Armadillo is a fast C++ matrix library with optional interfaces to LAPACK and ATLAS functions. Available from http://arma.sourceforge.net/
Version 1.1.6 allows the use of auxiliary (external) memory for fixed-size matrices and vectors.

Posted by Conrad Sanderson 2011-03-02

Armadillo C++ matrix library: 1.1.4 available

Armadillo is a fast C++ matrix library with optional interfaces to LAPACK and ATLAS functions. Available from http://arma.sourceforge.net/
Version 1.1.4 has faster sort(), updated installation to detect recent versions of Intel's MKL, and expanded handling of subcubes,
allowing interpretation of arbitrary "flat" subcubes as matrices.

Posted by Conrad Sanderson 2011-02-18

Armadillo C++ matrix library: 1.1.0 available

Armadillo is a fast C++ matrix library with optional interfaces to LAPACK and ATLAS functions. Available from http://arma.sourceforge.net/
Version 1.1.0 has extended submatrix views, as well as faster solve() and inv() via explicit handling of triangular matrices.

Posted by Conrad Sanderson 2010-12-23

Armadillo C++ matrix lib: 0.9.90 available

Armadillo is a fast C++ matrix library with optional interfaces to LAPACK and ATLAS functions. Available from http://arma.sourceforge.net/
Version 0.9.90 adds faster column access as well as bugfixes and speedups for LU decomposition.

Posted by Conrad Sanderson 2010-10-14

Armadillo C++ matrix lib: 0.9.80 available

Armadillo is a fast C++ matrix library with optional interfaces to LAPACK and ATLAS functions. Available from http://arma.sourceforge.net/
Version 0.9.80 adds functions for inplace operations on diagonals as well as functions for joining/inserting/removing cube slices. It also has various speedups due to internal architecture improvements.

Posted by Conrad Sanderson 2010-09-21