Stable Version
Old Versions
Related Software
- mlpack - extensive library of machine learning algorithms
- ensmallen - C++ library for efficient numerical optimisation
- CARMA - interface between Armadillo and Python / NumPy
Installation Notes
- See the README file in the .tar.xz package for full installation instructions
- If you encounter any bugs or regressions, please report them
-
If you use Armadillo in your research and/or software, please cite the associated papers;
citations are useful for the continued development and maintenance of the library
-
Linux based operating systems (eg. Fedora, Ubuntu, Red Hat, SUSE, Debian, etc)
-
Before installing Armadillo, first install OpenBLAS and LAPACK, along with the corresponding development/header files
-
Recommended packages to install before installing Armadillo:
- Fedora & Red Hat: cmake, openblas-devel, lapack-devel, arpack-devel, SuperLU-devel
- Ubuntu & Debian: cmake, libopenblas-dev, liblapack-dev, libarpack2-dev, libsuperlu-dev
-
Pre-built Armadillo packages are provided by many Linux-based operating systems:
Fedora,
Debian,
Ubuntu,
openSUSE,
Arch
the pre-built packages may not be the latest version; if you're encountering problems, use the official stable version provided here
-
macOS
-
The "Accelerate" framework is used for accessing BLAS and LAPACK functions;
see the README file in the package for more information
-
Pre-built Armadillo packages can also be installed via
MacPorts
or
Homebrew
the pre-built packages may not be the latest version; if you're encountering problems, use the official stable version provided here
-
Windows
-
The Armadillo package contains pre-compiled OpenBLAS
as well as MSVC project files to compile the example program,
tested on Windows 10 (64 bit) with Visual Studio 2019;
you may need to make adaptations for later versions of Windows and/or the compiler
-
Intel MKL can also be used as a fast implementation of BLAS and LAPACK
-
Caveat:
for any high performance scientific/engineering workloads, we strongly recommend using a Linux based operating system
-
Cross-Platform
-
Armadillo packages for the Conda package management system (part of Anaconda):
-
Armadillo recipe for the Conan package management system: