Armadillo: C++ library for linear algebra & scientific computing (original) (raw)
Stable Version
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 libraryLinux 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 viaMacPorts orHomebrew
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 compilerIntel 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):
* conda-forge Armadillo package
* conda-forge Armadillo feedstockArmadillo recipe for the Conan package management system:
* Armadillo recipe
* source for Armadillo recipe