/
armadillo

armadillo

 

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 (API) deliberately similar to Matlab 
     
  • Useful for algorithm development directly in C++, or quick conversion of research code into production environments (eg. software & hardware products) 
     
  • Can be used for machine learning, pattern recognition, computer vision, signal processing, bioinformatics, statistics, finance, etc 
     
  • Provides efficient classes for vectors, matrices and cubes, as well as 200+ associated functions; 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 
     
  • Available under a permissive license, useful for both open-source and proprietary (closed-source) software

 

Usage

 

module load library/armadillo/7.960.1

 

Installation

module load   library/openblas/0.3.0
module load bioinformatics/atlas-lapack/3.10.1
cd /sw/library/armadillo/src


module load cmake/3.8.2
module load misc/libarchive/3.3.1
module load misc/openssl/1.0.2
module load library/zlib/1.2.11

tar -xvf armadillo-7.960.1.tar.xz 
cmake -DCMAKE_INSTALL_PREFIX=/sw/library/armadillo/7.960.1

make
make install

 

Citation

Please cite the following article if you use Armadillo in your research and/or software. Citations are useful for the continued development and maintenance of the library. 

Conrad Sanderson and Ryan Curtin. 
Armadillo: a template-based C++ library for linear algebra. 
Journal of Open Source Software, Vol. 1, pp. 26, 2016.

 

Reference

  1. http://arma.sourceforge.net/download.html

Related content