1

我正在使用 eigen 库进行查找eigevalueseigenvectors. 从此网页中,以下定义-

const EigenvalueType & eigenvalues () const;

因此,我正在使用类似的声明

const Eigen::EigenvalueType &value = solver.eigenvalues()

已包含以下文件:

#include "Eigen/Core"
#include "unsupported/Eigen/MatrixFunctions"
#include "Eigen/Eigenvalues"

我还检查了包含for的文件的源代码,并将其也包含在语句中:typedefEigenValueType

#include "Eigen/src/Eigenvalues/EigenSolver.h"

但我仍然在编译时收到以下错误。

error: ‘EigenvalueType’ in namespace ‘Eigen’ does not name a type

我不明白为什么它不能识别 typedef 的。任何帮助表示赞赏。

4

1 回答 1

3

EigenvalueType 是在 class 中声明的 typedef EigenSolver,您需要像这样使用它

  Eigen::EigenSolver<Eigen::MatrixXd>::EigenvalueType &value = solver.eigenvalues()
//^^^^^^^^^^^
于 2013-07-05T23:26:03.080 回答