-
- Description:
Armadillo is a template C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use, with an API is similar to MATLAB. Integer, floating point and complex numbers are supported, as well as a subset of trigonometric and statistics functions. Various matrix decompositions are provided via an optional integration with LAPACK, or one of its high performance drop-in replacements (eg. Intel MKL, AMD ACML, or OpenBLAS).
A delayed evaluation approach is employed (during compile time) to combine several operations into one and reduce (or eliminate) the need for temporaries. This is accomplished through recursive templates and template meta-programming.
This library is useful if C++ has been decided as the language of choice (due to speed and/or integration capabilities), rather than another language like Matlab or Octave. It is distributed under a license that is useful in both open-source and commercial/proprietary contexts.
- Changes to previous version:
- 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 inplace_trans() for memory efficient in-place transposes (contributed by Alexandre Drouin)
- 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
Comments
No one has posted any comments yet. Perhaps you'd like to be the first?
Leave a comment
You must be logged in to post comments.