特征库selfadjointView问题

时间:2011-08-24 22:57:32

标签: c++ matrix eigen

每当我尝试使用特征库使用任何矩阵或稀疏矩阵的selfadjointView属性时,我都会持续收到错误消息。下面是一个检查它的简单代码。在我的程序中,我尝试使用自伴矩阵:

#define EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
#include <Eigen/Sparse>
#include <Eigen/Dense>
#include <Eigen/Core>
#include <iostream>

using namespace Eigen;
int main ()
{
SparseMatrix<float>  mat(3,3);
Matrix<float, 3, 1> vec;
std::cout<<mat.selfadjointView<>()*vec;
}

我得到的错误信息是: 错误:没有用于调用的匹配函数,'Eigen :: SparseMatrix :: selfadjointView(),

1 个答案:

答案 0 :(得分:3)

您必须指定模板参数,因此它应显示为mat.selfadjointView<Upper>()mat.selfadjointView<Lower>()。第一个意味着它应该使用mat的上三角部分中的条目并填充下三角部分以使矩阵自伴。第二个是另一种方式。