行列の固有値と行列式の関係

行列の固有値の積は行列式の値と等しくなる。これをEigenで試す。

実行結果

固有値
  (16.7075,0)
(-0.905741,0)
 (0.198246,0)
行列式
-3

確かめれば

\begin{align}
16.7075 \times (-0.905741) \times 0.198246 = – 2.99999085225 \cdots
\end{align}

となり一致することが確かめられる。(ずれているのは数値計算のための誤差)

ソースコード。

#include <iostream>
#include "../Eigen/Dense"

int main() {
	const int n = 3;
	const int m = 3;
	
	Eigen::MatrixXf A(n, m);
	A << 1, 2, 3, 4, 5, 6, 7, 8, 10;
	
	Eigen::EigenSolver< Eigen::MatrixXf > s(A);
	
	std::cout << "固有値 " << std::endl << s.eigenvalues() << std::endl;
	std::cout << "行列式" << std::endl << A.determinant() << std::endl;

	return 0;
}

コメント

タイトルとURLをコピーしました