From 7b1de22eee4ebd0aef352c3b88872c65aceb2ee0 Mon Sep 17 00:00:00 2001 From: "Dmitry Yu. Naumov" <github@naumov.de> Date: Sat, 19 Sep 2015 00:49:29 +0000 Subject: [PATCH] [MaL] Compress eigen matrix before solve. --- MathLib/LinAlg/Eigen/EigenLinearSolver.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp b/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp index 3c66f5cef42..5c70304f827 100644 --- a/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp +++ b/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp @@ -37,6 +37,8 @@ public: void solve(EigenVector::RawVectorType &b, EigenVector::RawVectorType &x, EigenOption &/*opt*/) override { INFO("-> solve"); + if (!_A.isCompressed()) + _A.makeCompressed(); _solver.compute(_A); if(_solver.info()!=Eigen::Success) { ERR("Failed during Eigen linear solver initialization"); @@ -70,6 +72,8 @@ public: INFO("-> solve"); _solver.setTolerance(opt.error_tolerance); _solver.setMaxIterations(opt.max_iterations); + if (!_A.isCompressed()) + _A.makeCompressed(); _solver.compute(_A); if(_solver.info()!=Eigen::Success) { ERR("Failed during Eigen linear solver initialization"); -- GitLab