liboctave

OctaveMatlabライクな文法を持った数値計算ソフトウェアだ.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/