Armadillo (線形代数ライブラリ)
From Wikipedia, the free encyclopedia
| 最新版 |
15.0.3
/ 2025年9月22日[1] |
|---|---|
| リポジトリ | https://gitlab.com/conradsnicta/armadillo-code |
| プログラミング 言語 | C++ |
| 対応OS | クロスプラットフォーム |
| 種別 | 線形代数ライブラリ |
| ライセンス | MPL |
| 公式サイト |
arma |
Armadilloは、数値線形代数のためのプログラミング言語C++のライブラリである。LAPACKと統合されており、各種の行列の分解を最適化された速度で実行することができる。また、加算や乗算など基本的な演算を、C++のテンプレートプログラミングや演算子のオーバーロードを活用して、遅延評価により計算することで高速化を図っている。オーストラリアの研究機関CSIROのグループ Data 61 で Conrad Sanderson が初版を開発した[2]。
- C++に統合された線形計算ライブラリ
- テンプレートプログラミングや演算子オーバーロードを使い、C++によく統合されている。APIはMATLABに似せて作られている。[2]
- 遅延評価による高速な計算
- Armadilloの公式Webサイトに掲載されたマイクロベンチマークの結果によれば、IT++ や Newmat といったライブラリとくらべて、非対角行列4つの積の計算のテストでは 2.5 倍 〜 20倍早く、Armadilloが認識可能な高速化できる複数の演算の組み合わせのパターンでは、5倍から1000倍もの速度が出ることがあるという。[3]
- 選択可能な依存する行列分解ライブラリ
- Armadilloが依存する行列分解のライブラリは、LAPACKの他にもIntel MKL、MD ACML、OpenBLASから選択可能である。[2]