liboctave で数値計算(リンクとインストール)
C++ で行列演算がメインの数値計算をしたいとき(ロボティクスとか機械学習の分野などで),いちいち自分で逆行列とかの基本的な演算を自分で実装してたら埓があかない.何かライブラリを利用したい.ここでは Matlab と互換性が(それなりに)ある octave を C++ から利用する方法, liboctave を解説する. liboctave は linux でも(一応)windows でも使えて,フリーでそこそこ信頼性もあるので,割と使いやすいのではないでしょうか.名前空間無いけどな.
リンク
まずウェブ上で参考になる情報から. octave 関連では,
- Octave : 本家
- octave - interpreter : 英語版マニュアル
- GNU Octave 2.1.x 日本語マニュアル
- LAPACK Users' Guide -- Third Edition : liboctave は LAPACK をベースにしているので,octaveのマニュアルで不可解なことがあれば,このガイドを参照してみる.
日本語マニュアルの質はあまりよくない.重要な情報が抜けている場合がある.なるべく本家のマニュアルを参照するようにした方がよい.
liboctave 関連の情報はあまり多くないが,
あたりが適当だろう. ちなみに,ほかの数値計算ライブラリに GSL , Intel 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 関連のバイナリパッケージが用意されている(はず).
Mac
頑張れ☆