Armadillo is a C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. Integer, floating point, and complex numbers are supported, as well as a subset of trigonometric and statistics functions. Various matrix decompositions are provided through optional integration with LAPACK and ATLAS libraries. A delayed evaluation approach, based on template meta-programming, is used (during compile time) to combine several operations into one and reduce or eliminate the need for temporaries.
| Tags | Scientific/Engineering Mathematics Software Development Libraries machine learning Statistics |
|---|---|
| Licenses | MPL 2.0 |
| Operating Systems | Unix POSIX Linux Mac OS X Windows |
| Implementation | C++ |
Recent releases


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


Release Notes: This release adds the fast Fourier transform, and adds batch insertion constructors for sparse matrices. It also contains better detection of Intel MKL during installation.


Release Notes: The software is now licensed under the Mozilla Public License 2.0. This release adds functions for filling and transforming matrices using functors and C++11 lambda expressions. It also contains fixes for handling non-square matrices by qr() and qr_econ().


Release Notes: This release adds a faster find() function. It als contains a fix for non-contiguous submatrix views to handle empty vectors of indices.


Release Notes: This release adds a faster determinant operation for diagonal and triangular matrices. It also contains more fine-grained handling of 64 bit integers.