Armadillo (original) (raw)
* Fast C++ library for linear algebra (matrix maths) and scientific computing
* Easy to use functions and syntax, deliberately similar to Matlab / Octave
* Uses template meta-programming techniques to increase efficiency
* Provides user-friendly wrappers for OpenBLAS, Intel MKL, LAPACK, ATLAS, ARPACK, SuperLU and FFTW libraries
* Useful for machine learning, pattern recognition, signal processing, bioinformatics, statistics, finance, etc.
* Downloads: http://arma.sourceforge.net/download.html
* Documentation: http://arma.sourceforge.net/docs.html
* Bug reports: http://arma.sourceforge.net/faq.html
* Git repo: https://gitlab.com/conradsnicta/armadillo-code
Features
- Easy to use - has many MATLAB like functions
- Useful for prototyping directly in C++
- Useful for conversion of research code into production environments
- Permissively licensed - can be used in proprietary software and products
- Used for machine learning, pattern recognition, computer vision, signal processing, bioinformatics, statistics, finance, etc
- Efficient classes for vectors, matrices, cubes (1st, 2nd, 3rd order tensors)
- Supports dense and sparse matrices
- Fast singular value decomposition (SVD), eigen decomposition, QR, LU, Cholesky, FFT
- Clustering using k-means and Gaussian Mixture Models (GMM)
- Automatic vectorisation of expressions (SIMD)
- Contiguous and non-contiguous submatrices
- Automatically combines several operations into one to increase speed and efficiency
- Read/write data in CSV files
- Automatically uses OpenMP for acceleration via multi-threading
- Used for speeding up NumPy / Python via CARMA: https://github.com/RUrlus/carma
- Used for machine learning and pattern recognition by MLPACK: https://mlpack.org/
- Used for numerical optimisation by Ensmallen: https://ensmallen.org/
License
Apache License V2.0
Simplify IT and security with a single endpoint management platform
Automate the hardest parts of IT
NinjaOne automates the hardest parts of IT, delivering visibility, security, and control over all endpoints for more than 20,000 customers. The NinjaOne automated endpoint management platform is proven to increase productivity, reduce security risk, and lower costs for IT teams and managed service providers. The company seamlessly integrates with a wide range of IT and security technologies. NinjaOne is obsessed with customer success and provides free and unlimited onboarding, training, and support.
Additional Project Details
Operating Systems
Cygwin, MinGW/MSYS2, Linux, BSD, Mac, Windows
Intended Audience
Information Technology, Science/Research, Education, Advanced End Users, Developers, Engineering
Programming Language
Related Categories
MATLAB Algorithms, MATLAB Mathematics Software, MATLAB Machine Learning Software, MATLAB Computer Vision Libraries, C++ Algorithms, C++ Mathematics Software, C++ Machine Learning Software, C++ Computer Vision Libraries
2008-02-08