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 (eg. software & hardware products)
Provides efficient classes for vectors, matrices and cubes (1st, 2nd and 3rd order tensors); dense and sparse matrices are supported
Integer, floating point and complex numbers are supported
Various matrix decompositions are provided through integration with LAPACK, or one of its high performance drop-in replacements (eg. multi-threaded Intel MKL, or OpenBLAS)
A sophisticated expression evaluator (based on template meta-programming) automatically combines several operations to increase speed and efficiency
Can automatically use OpenMP multi-threading (parallelisation) to speed up computationally expensive operations
Available under a permissive 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
Numerical type support.
Based on LAPACK library.
Fast matrix manipulation using template metaprograming.
Matrix save and load in file as Matlab
Interfacing with other libraries: via STL-iterators
Open source development
To install armadillo library on ubuntu(Linux) copy these commands in terminal and press enter.
sudo apt-get install liblapack-dev
sudo apt-get install libblas-dev
sudo apt-get install libboost-dev
sudo apt-get install libarmadillo-dev