每当我尝试通过特征库使用任何矩阵或稀疏矩阵的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;
}我得到的错误信息是: error:没有匹配的函数用于调用,‘Eigen::SparseMatrix::selfadjointView(),
发布于 2011-08-25 09:03:22
您必须指定模板参数,因此它应为mat.selfadjointView<Upper>()或mat.selfadjointView<Lower>()。第一个意味着它应该使用mat的上三角形部分中的条目,并填充下三角形部分,以使矩阵自共轭。第二个是相反的方式。
https://stackoverflow.com/questions/7183318
复制相似问题