C++で行列演算
ちょっと行列演算が必要になったので、C++で良い行列計算ライブラリーがないかなー、と検索をかけてみたら、早速ソースコードを公開しているサイトが見つかりました↓
http://www.eng.maritime.kobe-u.ac.jp/~i_asano/misc/matrix/matrix.html
行列同士の演算が"+"や"*"で出来、逆行列や転置行列を求める関数も用意されているので、十分に実用的かと思います。
ただ、行列の要素をまとめて設定するような関数が用意されていなかった&演算が失敗したときに終了してしまう、という仕様が個人的には嫌だったので少し改造して使わせていただいております。
ちなみにLinuxでコンパイルが上手く行かないときは、matrix.hの7行目を
#include < iostream.h> → #include < iostream>
// "<"の後に半角スペースが入っているのはブログの仕様です
と変えれば上手く行くかと。
Ubuntu8.10ではこれだけでコンパイルが通りました。
http://www.eng.maritime.kobe-u.ac.jp/~i_asano/misc/matrix/matrix.html
行列同士の演算が"+"や"*"で出来、逆行列や転置行列を求める関数も用意されているので、十分に実用的かと思います。
ただ、行列の要素をまとめて設定するような関数が用意されていなかった&演算が失敗したときに終了してしまう、という仕様が個人的には嫌だったので少し改造して使わせていただいております。
ちなみにLinuxでコンパイルが上手く行かないときは、matrix.hの7行目を
#include < iostream.h> → #include < iostream>
// "<"の後に半角スペースが入っているのはブログの仕様です
と変えれば上手く行くかと。
Ubuntu8.10ではこれだけでコンパイルが通りました。
- 関連記事