Eigen::Matrix2d matrix_22;matrix_22 << 2,3,2,1;cout << "matrix = \n"<< matrix_22<<endl;//Eigen::SelfAdjointEigenSolver<Eigen::Matrix2d> eigen_solver1 ( matrix_22 );/这句是啥不清楚Eigen::EigenSolver<Eigen::Matrix2d> eigen_solver ( matrix_22 );cout << "matrix values = \n" << eigen_solver.eigenvalues() << endl;//形式为二维向量(4,0)和(-1,0)。真实值为4,-1。cout << "matrix vectors = \n" << eigen_solver.eigenvectors() << endl;//输出为单位化之后的。形式如下:
输出结果:
matrix =
2 3
2 1
matrix values = (4,0)
(-1,0)
matrix vectors = (0.83205,0) (-0.707107,0)(0.5547,0) (0.707107,0)
如果整个过程手算,会得到特征值是:4,-1。对应的特征向量分别是
和
,被单位化之后,得eigen的输出。
注意输出格式