Armadillo is a C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. The API is deliberately similar to Matlab's. 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 numerics 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 machine learning Statistics Library Numerics|
|Operating Systems||Unix POSIX Linux Mac OS X Windows|
Release Notes: This release contains faster inverse of matrices marked as diagonal and faster transpose of sparse matrices. It also has more efficient handling of aliasing during matrix multiplication.
Release Notes: This release contains faster handling of sparse submatrix views and better code generation when using the Clang C++ compiler. It also contains a workaround for a bug in LAPACK 3.4.
Release Notes: This release contains a fix for the randi() function generating out-of-interval values. It also contains a workaround for a bug in the Intel C++ compiler.
Release Notes: This release adds eigen decompositions of sparse matrices and a MEX connector for interfacing Matlab and Octave with Armadillo matrices. Many decompositions now use faster divide-and-conquer methods by default.
Release Notes: This release adds divide-and-conquer variants of economical SVD and pseudo-inverse functions, element-wise variants of min() and max(), easier specification of submatrix view sizes, and a more precise timer when using C++11.