Armadillo (線形代数ライブラリ)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
Armadillo
最新版 9.800.3 / 2019年12月11日(11か月前) (2019-12-11[1]
リポジトリ https://gitlab.com/conradsnicta/armadillo-code
プログラミング言語 C++
対応OS クロスプラットフォーム
種別 線形代数ライブラリ
ライセンス MPL
公式サイト https://arma.sourceforge.net/
テンプレートを表示

Armadilloは、数値線形代数のためのプログラミング言語C++ライブラリである。LAPACKと統合されており、各種の行列の分解を最適化された速度で実行することができる。また、加算や乗算など基本的な演算を、C++のテンプレートプログラミングや演算子オーバーロードを活用して、遅延評価により計算することで高速化を図っている。オーストラリアの研究機関CSIROのグループ Data 61 で Conrad Sanderson が初版を開発した[2]

特徴[編集]

C++に統合された線形計算ライブラリ
テンプレートプログラミングや演算子オーバーロードを使い、C++によく統合されている。APIMATLABに似せて作られている。[2]
遅延評価による高速な計算
Armadilloの公式Webサイトに掲載されたマイクロベンチマークの結果によれば、IT++ や Newmat といったライブラリとくらべて、非対角行列4つの積の計算のテストでは 2.5 倍 〜 20倍早く、Armadilloが認識可能な高速化できる複数の演算の組み合わせのパターンでは、5倍から1000倍もの速度が出ることがあるという。[3]
選択可能な依存する行列分解ライブラリ
Armadilloが依存する行列分解のライブラリは、LAPACKの他にもIntel MKL、MD ACML、OpenBLASから選択可能である。[2]

出典[編集]

  1. ^ Armadillo / News: Armadillo C++ linear algebra: version 9.800.3 maintenance release”. 2020年1月7日閲覧。
  2. ^ a b c Armadillo Official Website - About”. 2016年2月9日閲覧。
  3. ^ Armadillo Official Website - Speed”. 2016年2月9日閲覧。

参考文献[編集]

  • Sanderson, C., & Curtin, R. (2016). Armadillo: a template-based C++ library for linear algebra. Journal of Open Source Software, 1(2), 26.
  • Sanderson, C. (2010). Armadillo: An open source C++ linear algebra library for fast prototyping and computationally intensive experiments (p. 84). Technical report, NICTA.
  • Eddelbuettel, D., & Sanderson, C. (2014). RcppArmadillo: Accelerating R with high-performance C++ linear algebra. Computational Statistics & Data Analysis, 71, 1054-1063.

外部リンク[編集]