Back-substitute on NO_CONVERGENCE in SchurComplementSolver When ITERATIVE_SCHUR is used with use_explicit_schur_complement = true, ExplicitSchurComplementSolver inherits from SchurComplementSolver. Previously, SchurComplementSolver::SolveImpl only performed back-substitution when SolveReducedLinearSystem returned SUCCESS. When ConjugateGradientsSolver hit max_num_iterations and returned NO_CONVERGENCE, the eliminated parameter blocks were left at zero instead of being back-substituted from the approximate reduced solution, unlike IterativeSchurComplementSolver. Thanks to @1784174022-ops for reporting this. Fixes https://github.com/ceres-solver/ceres-solver/issues/1215 Change-Id: Ic879f1d6ad429d0ee054f8101c13a858d53b02c4
Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. Ceres Solver can solve two kinds of problems.
Please see ceres-solver.org for more information.