liboctave で数値計算(リンクとインストール)

C++ で行列演算がメインの数値計算をしたいとき(ロボティクスとか機械学習の分野などで),いちいち自分で逆行列とかの基本的な演算を自分で実装してたら埓があかない.何かライブラリを利用したい.ここでは Matlab と互換性が(それなりに)ある octaveC++ から利用する方法, liboctave を解説する. liboctave は linux でも(一応)windows でも使えて,フリーでそこそこ信頼性もあるので,割と使いやすいのではないでしょうか.名前空間無いけどな.

リンク

まずウェブ上で参考になる情報から. octave 関連では,

日本語マニュアルの質はあまりよくない.重要な情報が抜けている場合がある.なるべく本家のマニュアルを参照するようにした方がよい.

liboctave 関連の情報はあまり多くないが,

あたりが適当だろう. ちなみに,ほかの数値計算ライブラリに GSLIntel Math Kernel Library (MKL) などがあって,これらはCからでも利用できる.だが,複雑な行列計算を書くと,コードが繁雑になる.GSLにどのような機能があるかは,次を参照するとよい.

インストール

Debian

(以下の情報は若干古い.2010年2月頃の octave / liboctave インストールも参照.)

以下のパッケージをインストールすればよい.

sudo apt-get -f install octave3.0 octave3.0-headers octave3.0-htmldoc
sudo apt-get -f install atlas3-base libatlas3gf-base
sudo apt-get -f install libfftw3-3 libfftw3-dev

バージョンは適宜変更すること.

The Other Linux

たいていのディストリビューションには octave 関連のバイナリパッケージが用意されている(はず).

Windows

以下のリンク先を参照するとよい(と思う.試してない). cygwin では割と簡単にできるようだ.

Mac

頑張れ☆