2011-08-24 3 views
3

고유 라이브러리를 사용하는 매트릭스 또는 스파 스 매트릭스의 selfadjointView 속성을 사용할 때마다 지속적으로 오류 메시지가 표시됩니다. 다음은이를 확인하기위한 간단한 코드입니다. 내 프로그램에서 나는 자기 수반 행렬 행렬 시도 않습니다고유 라이브러리 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; 
} 

내가 오류 메시지는 다음과 같습니다 오류 님의 호출에 대한 일치하는 기능, '아이겐 :: 희소 행렬 :: selfadjointView(),

답변

3

템플릿 인수를 지정해야하므로 mat.selfadjointView<Upper>() 또는 mat.selfadjointView<Lower>()이어야합니다. 첫 번째는 mat의 위쪽 삼각형 부분에있는 항목을 사용하고 아래쪽 삼각형 부분을 채워서 행렬을 자체 중립으로 만들어야 함을 의미합니다. 두 번째 방법은 다른 방법입니다.

+0

감사합니다 Jitse, 도움이되었습니다. 이 selfadjointView 메서드를 사용하여 속도를 더 높이기를 바랬지 만 그런 일은 발생하지 않았습니다. – Tarek