私はmatrix[7][7]
ためeigenvalue
を計算しようとしている、と私のコードは次のとおりです。固有値およびマトリックス配列
for (i = 0; i<M; i++) //matrix + identity
{
for (j = 0; j<M; j++)
{
MI[i][j] = MX[i][j] + a[i][j];
cout << setw(7) << MI[i][j] << " ";
MatrixXd W;
W = MI[i][j];
SelfAdjointEigenSolver <MatrixXd> eigensolver (W);
cout << "The eigenvalues of A are:\n" << eigensolver.eigenvalues() << endl;
}
cout << endl;
}
私の質問は、私は右matrixXd W
として定義することにより、自分の行列を呼び出し、それをやっているのですか?
何のオペランド "=" マッチこのオペランド& oeprand種類がありません:MatrixXd =ダブル
私は、固有値を探していたので、私は、行列の3x3を持っている場合は、その後、私の固有値が3になることはありませおよびループの必要性べきで、あなたの迅速な返事なし3所与の感覚であなたのアントンありがとう、私は右? – h26
あなたは私のステートメントや固有値の定義を誤解していると思います。行列の固有値がどういう意味かを見てください。 3×3行列は3つの固有値(多重度を数える)を有する。しかし、Eigenライブラリを使うと、3 * 3 = 9の固有値分解をせずにそれらを見つけることができます。 – Anton