Registered Member
|
Dear all,
I'am trying to solve the system A*X=B, where A and B are sparse matrices in row-major format. I would expect the "SimplicialLDLT" decomposition of A to work in such cases, since the documentation requires only that . Below a simple test-case leading to compiling errors. Is something wrong with the syntax used? or is it a bug? Or simply, is the row-major format NOT supported for the decomposition of sparse matrices? Thanks in advance for any suggestions!
Compiling error: ‘THIS_METHOD_IS_ONLY_FOR_COLUMN_MAJOR_MATRICES’ is not a member of ‘Eigen::internal::static_assertion<false>’ line 356, /..../SparseBlock.h ‘THIS_METHOD_IS_ONLY_FOR_COLUMN_MAJOR_MATRICES’ is not a member of ‘Eigen::internal::static_assertion<false>’ line 365, /..../SparseBlock.h could not convert ‘(& m)->Eigen::SparseMatrix<double, 1>::<anonymous>.Eigen::SparseMatrixBase<Derived>::adjoint [with Derived = Eigen::SparseMatrix<double, 1>, Eigen::SparseMatrixBase<Derived>::AdjointReturnType = Eigen::Transpose<const Eigen::SparseMatrix<double, 1> >]()’ from ‘const AdjointReturnType {aka const Eigen::Transpose<const Eigen::SparseMatrix<double, 1> >}’ to ‘Eigen::internal::traits<Eigen::SimplicialLDLT<Eigen::SparseMatrix<double, 1> > >::MatrixU {aka Eigen::SparseTriangularView<Eigen::Transpose<const Eigen::SparseMatrix<double> >, 6>}’ line 333, /..../SimplicialCholesky.h could not convert ‘m’ from ‘const MatrixType {aka const Eigen::SparseMatrix<double, 1>}’ to ‘Eigen::internal::traits<Eigen::SimplicialLDLT<Eigen::SparseMatrix<double, 1> > >::MatrixL {aka Eigen::SparseTriangularView<Eigen::SparseMatrix<double>, 5>}’ line 332, /..../SimplicialCholesky.h |
Moderator
|
when solving with a sparse right hand side, the rhs matrix must be column major.
|
Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]