liboctave
OctaveはMatlabライクな文法を持った数値計算ソフトウェアだ.Matlabクローンなんて言われ方をする事もあるが,Matlabは文法よりも統合環境と豊富な関数群,強力なToolboxに価値があると思うので,「Matlabライク」が正しい表現だろう.
liboctaveは,Octaveの機能をC++から呼び出せる.
実際にはOctaveの全ての機能を呼び出せるわけではない.
行列操作や固有値分解などができる.
簡単なサンプルプログラムが紹介されているページを見つけた.
プログラミング liboctave (C++: windows MSVC or linux g++)
#include <iostream> #include <octave/config.h> #include <octave/Matrix.h> using namespace std; int main() { Matrix m(2, 2, 1.0); cout << "Hello octave! " << endl << m; return 0; }
g++ -o testoct testoct.cpp -I/usr/include/octave-2.1.73/ -L/usr/lib/octave-2.1.73/ -loctave -lcruft -lreadline -ldl
ライブラリのパスを通しておく必要がある
export LD_LIBRARY_PATH=/usr/lib/octave-2.1.73/