Armadillo のインストール(Ubuntu 上)
Armadillo は,行列やベクトルを扱う C++ の線形代数ライブラリである.
行列積,連立一次方程式の解法,固有値,特異値分解などの機能をもつ.
計算の実体は BLAS, LAPACK の実装(OpenBLAS など)が担う.
インストールの方法は2通りある. 方法1 は Ubuntu のパッケージを使う方法で,手順が少ない. 方法2 はソースからビルドする方法で,Ubuntu のパッケージより新しい版を使いたいときに用いる.
前準備:ビルドツールと依存ライブラリのインストール
端末で次のコマンドを実行する.
sudo apt -y update
sudo apt -y install cmake g++ wget xz-utils \
libopenblas-dev liblapack-dev libarpack2-dev libsuperlu-dev
方法1:Ubuntu のパッケージを使う
開発用のパッケージは libarmadillo-dev である. ランタイムライブラリ(libarmadillo12 など)は依存関係により自動で入る. パッケージのバージョンは Ubuntu のリリースごとに異なる(24.04 は 12.6.7,26.04 は 15.2.1). 端末で次のコマンドを実行する.
sudo apt -yV install libarmadillo-dev
方法2:ソースからビルドしてインストールする
安定版のファイル名は https://arma.sourceforge.net/download.html で確認する. ここでは armadillo-15.4.2 を使う. 端末で次のコマンドを実行する.
cd /tmp
wget -O armadillo-15.4.2.tar.xz https://sourceforge.net/projects/arma/files/armadillo-15.4.2.tar.xz/download
tar -xvf armadillo-15.4.2.tar.xz
cd armadillo-15.4.2
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local
make
sudo make install
sudo ldconfig
cmake は前準備でインストールした BLAS, LAPACK などを検出し,それらを使う設定でビルドする. ldconfig は共有ライブラリの検索情報を更新するコマンドである.
動作確認
プログラムファイル prog.cpp を作成する.
#include <armadillo>
int main()
{
arma::mat A(4, 4, arma::fill::randu);
A.print("A =");
arma::mat B = A * A.t();
B.print("B =");
return 0;
}
コンパイル,リンク,実行を行う.端末で次のコマンドを実行する. Armadillo は C++14 以降のコンパイラを必要とし,リンク時には -larmadillo を指定する.
g++ prog.cpp -o prog -O2 -std=c++14 -larmadillo
./prog
4行4列の行列の値が表示されれば,インストールと設定は成功している.