自分の備忘録用に
CPPLAPACKについて
http://cpplapack.sourceforge.net/doc/main_page/Japanese.html
BLAS, LAPACK, およびPARDISOのC++クラスラッパー。
行列、ベクトル計算、特異値分解、連立方程式の求解等が非常にシンプルに記述できる。
導入
基本的には
http://cpplapack.sourceforge.net/tutorial/japanese/index.html
に倣って進めていけば導入できる。
lapackおよびgfortranをインストールする。
sudo apt install libatlas3-base libatlas-base-dev
sudo apt install gfortran
cpplapackでは、コードのビルドにmakeおよびmakedependを利用するため、下記も併せてインストールする。
sudo apt install build-essential xutils-dev
cpplapackの本体については、Subversionを用いて~/local/にチェックアウトする。
cd ~
mkdir local
cd local
svn checkout https://svn.code.sf.net/p/cpplapack/code/trunk cpplapack
これで準備は完了である。
動作確認
cpplapackの動作を確認する。
下記コードを作成する。
# include "cpplapack.h"
int main(){
CPPL::dgematrix A(2, 3);
A(0, 0) = 1; A(0, 1) = 2; A(0, 2) = 3;
A(1, 0) = 4; A(1, 1) = 5; A(1, 2) = 6;
std::cout << A;
return 0;
}
cpplapack本体に含まれるMakefileを用いることで簡単にビルドできる。
cp ~/local/cpplapack/makefiles/Makefile ./
make
./A.OUT
下記のように表示されればOK。
1 2 3
4 5 6