//https://blog.csdn.net/qq_21950671/article/details/112268685
//https://blog.csdn.net/u012936940/article/details/79871941
//求特征根和特征向量
matrix_33<<-2.0, 1.0, 1.0, 0.0, 2.0, 0.0, -4.0, 1.0, 3.0;
cout << matrix_33< eigen_solver(matrix_33);
//EigenSolver eigen_solver ( matrix_33 );
//SelfAdjointEigenSolver eigen_solver(matrix_33.transpose()*matrix_33);
cout << "eigen values=n"<
1.1、EigenSolver eigen_solver ( matrix_33 );跟手算的一致,
-2 1 1
0 2 0
-4 1 3
eigen values=
(-1,0)
(2,0)
(2,0)
eigen vectors=
(-0.707107,0) (-0.242536,0) (0.301511,0)
(0,0) (0,0) (0.904534,0)
(-0.707107,0) (-0.970143,0) (0.301511,0)
2.1、SelfAdjointEigenSolver eigen_solver(matrix_33);跟手算的不一致,
-2 1 1
0 2 0
-4 1 3
eigen values=
-4.25505
1.81415
5.4409
eigen vectors=
-0.868433 -0.188198 -0.458701
0.0782712 -0.965597 0.247984
-0.48959 0.179454 0.853286
2、对于对称阵
matrix_33<<1.0, 2.0, 1.0, 2.0, 2.0, 1.0, 1.0, 1.0, 3.0;
cout << matrix_33< eigen_solver(matrix_33);
EigenSolver eigen_solver ( matrix_33 );
//SelfAdjointEigenSolver eigen_solver(matrix_33.transpose()*matrix_33);
cout << "eigen values=n"<
2.1、SelfAdjointEigenSolver eigen_solver(matrix_33)结果
1 2 1
2 2 1
1 1 3
eigen values=
-0.571201
1.85672
4.71448
eigen vectors=
-0.798489 0.347155 0.491831
0.599423 0.534127 0.596155
0.0557422 -0.770838 0.634587
2.2、EigenSolver eigen_solver ( matrix_33 )结果
1 2 1
2 2 1
1 1 3
eigen values=
(-0.571201,0)
(4.71448,0)
(1.85672,0)
eigen vectors=
(-0.798489,0) (0.491831,0) (-0.347155,0)
(0.599423,0) (0.596155,0) (-0.534127,0)
(0.0557422,0) (0.634587,0) (0.770838,0)
结果是一致的



