はじめに
あまりにも資料が少ないので,
基本的な部分だけサンプルプログラムを書いてみました.
下記のプログラムを見れば大体わかると思います.
平均とか,最大値とか複数のデータを使った処理をReductionって言うんですね.
初めて知りました(笑)
Eigenによる固有値の計算方法
あまり明確に書いていなかったので、メモしておきます。
まず初めに下記をincludeして、
#include "Eigen/Dense"
下記のように固有値を求めたい行列をAとして、
ソルバオブジェクトを生成します。
EigenSolver
es(A);
あとは下記のようにeigenvalues関数で、
固有値ベクトルをゲットできます。
MatrixXf ev=es.eigenvalues().real();
最後にrealメソッドを読んでいるのは、
eigenvalues()の返り値が複素数で得られるため、
その複素数の実部を取り出したいからです。