IterativeSolver and UmfPack do not work with MappedSparseMatrix

Submitted by Christoph Hertzberg @chhtz

Assigned to Nobody

Link to original bugzilla bug (#897)
Version: 3.3 (current stable)

Description

The problem is that in IterativeSolverBase::compute(const MatrixType& A) the address of a temporary object is retrieved. Even worse, the temporary is an unnecessary SparseMatrix copy of the MappedSparseMatrix.

Maybe IterativeSolverBase::mp_matrix should be some kind of Ref<SparseMatrix> object (not supported yet, I guess?) and compute shall accept arbitrary Matrices, which are either copied or mapped into mp_matrix.

NB: The problem was exposed after new unit tests from bug #670 (closed).

Depends on

#910

Blocking

#558 (closed)

Edited by Eigen Bugzilla