当我试图获得特定矩阵的特征值时,我在Eigen Library和Matlab中使用EigenSolver得到了不同的答案。有人可以告诉我原因吗?
C ++代码:
Eigen::EigenSolver<Eigen::MatrixXd> solver_1(H_);
std::cout << "\nhes\n" << solver_1.eigenvalues() << std::endl;
std::cout << "\nhes1\n" << solver_1.pseudoEigenvalueMatrix().diagonal() << std::endl;
Matlab的:
[Q1,L1] = eig(D)
hes = diag(L1)
C ++回答:
MATLAB答案: