CLAPACK
boostだけだと関数が足りないのでLAPACKのC言語版CLAPACKを使ってみる。ATLASを一緒に使うと速いらしいがとりあえずは動けばいいのでそれは使わず。本格的に計算させるときはATLASを使ってCLAPACKをコンパイルし直そう。というのもATLASを使ったCLAPACKのコンパイルの仕方がいまいちよくわからんから。。。
テストは端折るとすると、インストールはこんな感じで。
以降はrootで
cp INSTALL/make.inc.LINUX make.inc
make f2clib
make blaslib
cd SRC; make
使うときは、
cp lapack_LINUX.a /usr/local/lib64/liblapack.a
cp blas_LINUX.a /usr/local/lib64/libblas.a
cp F2CLIBS/lib{F,I}77.a /usr/local/lib64/
ldconfig
cp clapack.h F2CLIBS/f2c.h /usr/local/include
chmod a+r /usr/local/include/f2c.h /usr/local/include/clapack.h
として、
extern "C"
{
#include "f2c.h"
#include "clapack.h"
}
などとする。
g++ main.cc -llapack -lblas -lF77 -lI77
参考文献
http://www.netlib.org/clapack/index.html
http://www.netlib.org/clapack/readme.install
http://www.a.mei.titech.ac.jp/~kabe/calcsoft/library/lapack/clapack/index.html
http://www.alab.t.u-tokyo.ac.jp/~bond/doc/clapack.html
http://www.eml.hiroshima-u.ac.jp/member/staff/tamaki/LTI-Lib/index.php?LAPACK
http://www.eml.hiroshima-u.ac.jp/member/staff/tamaki/LTI-Lib/index.php?LAPACK%2BATLAS