New user self-registration is disabled due to spam. Please email eigen-core-team @ if you need an account.
Before reporting a bug, please make sure that your Eigen version is up-to-date!
Bug 1394 - 'diagonal': is not a member of 'Eigen::Product<Derived,Eigen::SparseMatrix<double,1,int>,2>'
Summary: 'diagonal': is not a member of 'Eigen::Product<Derived,Eigen::SparseMatrix<do...
Alias: None
Product: Eigen
Classification: Unclassified
Component: Core - general (show other bugs)
Version: 3.3 (current stable)
Hardware: All All
: Normal Compilation Problem
Assignee: Nobody
Depends on:
Reported: 2017-02-17 19:12 UTC by cDc
Modified: 2017-02-20 13:28 UTC (History)
3 users (show)


Description cDc 2017-02-17 19:12:39 UTC
In SelfAdjointEigenSolver::compute() I get this error at compile time when used with:

typedef Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> Matrix;
typedef Eigen::SparseMatrix<double, Eigen::RowMajor> SparseMatrix;
SparseMatrix A(m, n);
const Eigen::SelfAdjointEigenSolver<Matrix> es(A.transpose()*A, Eigen::ComputeEigenvectors);

This used to work in 3.2.x
Comment 1 cDc 2017-02-17 19:20:20 UTC
If it helps, though it seems just a product of the original error, for the same line (417):

m_eivalues.coeffRef(0,0) = numext::real(matrix.diagonal()[0]);

I get also this error:

error C2672: 'Eigen::numext::real': no matching overloaded function found

Note You need to log in before you can comment on or make changes to this bug.