Introduction::
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
Features:
Simple syntax
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
Cross-platform usability
Installation:
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
Comments