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 | LGPL |
| Operating Systems | Unix POSIX Linux Mac OS X Windows |
| Implementation | C++ |
Recent releases


Release Notes: This release has improved documentation and fixes an issue in resizing empty matrices.


Release Notes: This release fixes an issue in vector initialization. It also adds a function for resizing matrices while preserving the layout of the data.


Release Notes: This release has faster handling of expressions with diagonal views.


Release Notes: This release has fixes for linking issues on recent Ubuntu and Debian systems. It also has fixes for inconsistencies in interactions between matrices and cubes.


Release Notes: This release adds shorter forms of transposes, optional use of 64-bit indices, and experimental support for C++11 initializer lists. It also fixes handling of expressions with aliasing and submatrices.