読者です 読者をやめる 読者になる 読者になる

MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

行列演算ライブラリEigenの換算(Reduction)関連のサンプルプログラム

あまりにも資料が少ないので,

基本的な部分だけサンプルプログラムを書いてみました.


下記のプログラムを見れば大体わかると思います.


平均とか,最大値とか複数のデータを使った処理をReductionって言うんですね.

初めて知りました(笑)

Eigenによる固有値の計算方法

あまり明確に書いていなかったので、メモしておきます。

まず初めに下記をincludeして、

#include "Eigen/Dense"

下記のように固有値を求めたい行列をAとして、

ソルバオブジェクトを生成します。

EigenSolver es(A);


あとは下記のようにeigenvalues関数で、

固有値ベクトルをゲットできます。

MatrixXf ev=es.eigenvalues().real();

最後にrealメソッドを読んでいるのは、

eigenvalues()の返り値が複素数で得られるため、

その複素数の実部を取り出したいからです。