Armadillo ist eine hochwertige lineare Algebra-Bibliothek (Matrixmathematik) für die C++-Sprache, die auf ein gutes Gleichgewicht zwischen Geschwindigkeit und Benutzerfreundlichkeit abzielt.
Funktionen:
- Einfache Funktionen und Syntax, absichtlich ähnlich wie Matlab / Octave
- Nützlich für Prototyping direkt in C++
- Nützlich für die Umwandlung von Forschungscode in Produktionsumgebungen
- Erlaubt lizenziert - kann in proprietärer Software und Produkten verwendet werden
- Nützlich für maschinelles Lernen, Mustererkennung, Computer Vision, Signalverarbeitung, Bioinformatik, Statistik, Finanzen usw.
- Effiziente Klassen für Vektoren, Matrizen, Würfel (1., 2., 3. Ordnung Tensoren)
- Unterstützt dichte und spärliche Matrizen
- Schnelle singuläre Wertzerlegung (SVD), Eigenzerlegung, QR, LU, Cholesky, FFT
- Clustering mit k-Means und Gaussian Mixture Models (GMM)
- Automatische Vektorisierung von Ausdrücken (SIMD)
- Zusammenhängende und nicht zusammenhängende Teilmatrizen
- Kombiniert automatisch mehrere Operationen zu einer, um Geschwindigkeit und Effizienz zu erhöhen
- Daten in CSV-Dateien lesen/schreiben
- Verwendet automatisch OpenMP für Geschwindigkeitssteigerungen
- Verwendet für maschinelles Lernen von MLPACK
- Verwendet für numerische Optimierung von Ensmallen