armadillo
 
Armadillo
C++ linear algebra library

 
 
      
About
License
Questions
API Docs
Speed
Authors
Download


Stable Version Preview Version Old Versions   (no longer maintained)
 

 
Related Software
  • MLPACK:  C++ machine learning library (classification, regression, etc) built on top of Armadillo
  • libpca:  library for principal component analysis and related transformations
  • Gadgetron:  medical image reconstruction framework
  • armanpy:  interfaces Armadillo matrices with Python


Installation and Configuration Notes
All Platforms · Linux · Mac OS X · Windows

All Platforms
  • Please see the README.txt file in the .tar.gz package
     
  • If you encounter any problems or regressions, please report them
     
  • If you use Armadillo in your research and/or software, please cite the overview tech report. Citations are useful for the continued development and maintenance of the library.

Linux   (Fedora, Ubuntu, Red Hat, SUSE, Debian, etc)
  • Armadillo can work without external libraries. However, to get the most functionality it's recommended to install (in advance) the LAPACK, BLAS and ATLAS libraries, along with the corresponding development/header files.
     
  • For faster performance, instead of using standard BLAS we recommend using the multi-threaded OpenBLAS library
     
  • Many Linux-based operating systems provide pre-built Armadillo packages, eg. Fedora, Debian, Ubuntu, openSUSE, Arch. These packages may not be the latest version. If you're encountering problems, please use the official packages provided here.
     
  • Recommended packages for Fedora & Red Hat (installed before Armadillo): cmake, blas-devel, lapack-devel, arpack-devel, atlas-devel.
     
  • Recommended packages for Ubuntu & Debian (installed before Armadillo): cmake, libopenblas-dev, liblapack-dev, libarpack-dev.
     
  • If you're updating from a previous version, it's a good idea to remove all the old files before updating. The files are typically in /usr/include/armadillo* as well as the library files in /usr/lib/ or /usr/lib64/

Mac OS X
  • The "Accelerate" framework is used for accessing BLAS and LAPACK functions. See the README.txt file in the package for more information.
     
  • If you're updating from a previous version, it's a good idea to remove all the old files before updating. The files are typically in /usr/include/armadillo* or /usr/local/include/armadillo* as well as the library files in /usr/lib/ or /usr/local/lib/

Windows
  • As a courtesy, the Armadillo package contains pre-compiled 64 bit versions of LAPACK and BLAS, as well as MSVC project files to compile the example programs. The MSVC project files were tested on 64 bit Windows 7 with Visual C++ 2012. You may need to make adaptations for later versions of Windows and/or the compiler.
     
  • If you're getting messages such as "use of LAPACK needs to be enabled", manually modify "include/armadillo_bits/config.hpp" to enable the use of LAPACK. See the README.txt file in the package for more information.
     
  • Faster and/or alternative implementations of BLAS and LAPACK are available:


  • For more info on the use of high-speed BLAS and LAPACK replacement libraries (such as Intel MKL and AMD ACML), see the FAQ.
     
  • For better performance, we recommend using the high-quality MinGW GCC C++ compiler, along with an IDE such as Eclipse.


Get Armadillo C++ matrix library at SourceForge.net. Fast, secure and Free Open Source software downloads