-
- 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 (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 automatic SSE2 vectorisation of elementary expressions (eg. matrix addition) when using GCC 4.7+ with -O3 optimisation
- added detection of the OpenBLAS library during installation, which provides multi-threaded (parallelised) matrix multiplication
- added support for saving & loading of cubes in HDF5 format
- much faster median()
- faster handling of compound expressions with transposes of complex vectors or submatrix rows
- faster as_scalar() for compound expressions
- minor fix for linking with MKL on Ubuntu systems
- 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.