Armadillo - C++ library for linear algebra & scientific computing
Download latest version
Documentation (with code examples)
Source code repo (GitLab)
Fast C++ matrix library with easy to use functions and syntax, deliberately similar to Matlab. Uses template meta-programming techniques.
Also provides efficient wrappers for LAPACK, BLAS and ATLAS libraries, including high-performance versions such as Intel MKL, AMD ACML and OpenBLAS.
Useful for machine learning, pattern recognition, signal processing, bioinformatics, statistics, finance, etc.
- Easy to use
- Many MATLAB like functions
- Efficient classes for vectors, matrices, cubes (3rd order tensors) and fields
- Fast singular value decomposition (SVD), eigen decomposition, QR, LU, Cholesky, FFT
- Statistical modelling using Gaussian Mixture Models (GMM)
- Clustering using K-means and Expectation Maximisation
- Automatic vectorisation of expressions (SIMD)
- Contiguous and non-contiguous submatrices
- Automatically combines several operations into one
- Useful for prototyping directly in C++
- Useful for conversion of research code into production environments
NOTE: please see the Questions page before contacting the developers