.-- --

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 comment(-) trackback(-)
.17 2013

行列計算ライブラリ「Eigen」の導入

はじめまして、Uedaです。
ただいまObjective-C+iPhone開発の勉強中です。

みなさん、行列計算は好きでしょうか?私はあまり好きではありません。
そんな私が、Objective-Cかじりたての私が、Objective-Cで「逆行列計算」「固有値計算」「特異値分解」...なんかを自前で実装するのは非常に危険です。
ベースにしたい計算にバグ混入の恐れや、速度を気にしたくありませんし...

そもそもXcodeにはAccelerateなるもで行列計算できるみたいですが、
乗算したいだけなのに関数呼ばないとならないらしく、大変そうです...
ちなみに固有値計算するだけでもこんな感じ...
http://sakura.math.kyushu-u.ac.jp/wiki/index.php?計算機設定%2FCLAPACK%2FXcode

そこで、C++で実装されたEigenを導入しました。
(ちなみにJava使っていたときはJamaを使っていました。)

Eigenはオペレータ演算子(+,-,*)で行列の足し算、引き算、積ができ、コードもすっきりします。
また、Eigenを使うと固有値計算はこんな感じになります。


int main()
{
Matrix2f A;
A << 1, 2, 2, 3; // 行列の初期化 (Matlabっぽく書くと [1 2; 2 3])
SelfAdjointEigenSolver eigensolver(A); // ←固有値計算
eigensolver.eigenvalues(); // 固有値
eigensolver.eigenvectors(); // 固有ベクトル
}


行列計算がとてもすっきりします!

Eigen
Jama
iPhoneへの導入方法
関連記事
スポンサーサイト

Comment

Post comment

  • comment
  • secret
  • 管理者にだけ表示を許可する

Trackback

trackbackURL:http://appteam.blog114.fc2.com/tb.php/245-fb48c63d

ブログ内検索

関連リンク

製品情報

最新記事

カテゴリ

プロフィール

neoxneo



NEXT-SYSTEM iOS Developers Blog


  • UTO:
    カナダ版iPhone4Sは、マナーモードでシャッター音がならない…


  • Ehara:
    ...


  • Hayate:
    ...


  • Tasaki:
    Developer登録完了...したのはいいけど


  • Ueda:
    ...



リンク

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。