-
- Description:
Armadillo is a template 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 via an optional integration with LAPACK, or one of its high performance drop-in replacements (e.g. AMD's ACML or Intel's MKL).
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:
- Armadillo is now licensed using the Mozilla Public License 2.0
- added .imbue() for filling a matrix/cube with values provided by a functor or C++11 lambda expression
- added .swap() for quickly swapping contents with another matrix
- added .transform() for transforming a matrix/cube using a functor or C++11 lambda expression
- added round() for rounding matrix elements towards nearest integer
- faster find(), for finding indices of elements according to a relational expression
- fixes for handling non-square matrices by qr() and qr_econ()
- minor fixes for handling empty matrices
- reduction of pedantic compiler warnings under gcc 4.8
- BibTeX Entry: Download
- Supported Operating Systems: Linux, Windows, Unix, Mac Os X
- Data Formats: Ascii, Binary, Hdf, Csv
- Tags: Matrix Library, Atlas, Lapack, Linear Algebra, Templates
- Archive: download here
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.