Skip to main content

Armadillo C++ linear algebra library

Posted by: data61

February 10, 2015

  • Armadillo is a high quality C++ linear algebra library, aiming towards a good balance between speed and ease of use; the syntax (API) is deliberately similar to Matlab
  • Useful for development of algorithms in machine learning, pattern recognition, signal processing, bioinformatics, statistics, etc
  • Provides efficient classes for vectors, matrices and cubes, as well as many functions which operate on the classes (eg. contiguous and non-contiguous submatrix views)
  • Integer, floating point and complex numbers are supported, as well as a subset of trigonometric and statistics functions
  • Various matrix decompositions are provided through integration with LAPACK, or one of its high performance drop-in replacements (such as the multi-threaded Intel MKL, or AMD ACML, or OpenBLAS libraries)
  • An automatic expression evaluator (via template meta-programming) combines several operations to increase efficiency
  • Useful for algorithm development directly in C++, or quick conversion of research code into production environments
  • The library is open-source software, distributed under a license useful in both open-source and proprietary contexts
  • Primarily developed at Data61 (Australia) by Conrad Sanderson, with contributions from around the world

Visit the Armadillo website to find out more.