- 
Armadillo is a high quality linear algebra library (matrix maths) for the C++ language, aiming towards a good balance between speed and ease of use
 
 
- 
Provides high-level syntax and functionality deliberately similar to Matlab
 
 
- 
Useful for algorithm development directly in C++, or quick conversion of research code into production environments
 
 
- 
Provides efficient classes for vectors, matrices and cubes; dense and sparse matrices are supported
 
 
- 
Integer, floating point and complex numbers are supported
 
 
- 
A sophisticated expression evaluator (based on template meta-programming) automatically combines several operations to increase speed and efficiency
 
 
- 
Dynamic evaluation automatically chooses optimal code paths based on detected matrix structures
 
 
- 
Matrix decompositions (eigen, SVD, Cholesky, etc) are provided through
integration with LAPACK,
or one of its high performance drop-in replacements
(eg. MKL or OpenBLAS)
 
 
- 
Can automatically use OpenMP multi-threading (parallelisation) to speed up computationally expensive operations
 
 
- 
Distributed under the permissive Apache 2.0 license, useful for both open-source and proprietary (closed-source) software
 
 
- 
Can be used for machine learning, pattern recognition, computer vision, signal processing, bioinformatics, statistics, finance, etc
 
 
- 
download latest version  |  git repo  |  browse documentation
 
 
Supported by: