commit | 9beea728f6c1007483ce81e0f5add57860a05a1a | [log] [tgz] |
---|---|---|
author | Sameer Agarwal <sameeragarwal@google.com> | Sat Dec 17 16:57:02 2022 -0800 |
committer | Sameer Agarwal <sameeragarwal@google.com> | Sat Dec 17 17:32:03 2022 -0800 |
tree | 75b059c0fe14d4c70229789fdb5a9f91f49aa337 | |
parent | 8e5d83f07de2122b62738e97dfd05aafbeed233d [diff] |
Fix a bug in CoordinateDescentMinimizer CoordinateDescentMinimizer optimizes one parameter block at a time. To do this, it manipulates the parameter block object. It was doing so inconsistently, where the tangent space offset was being set to zero but the ambient state offset was not being set to zero. This did not cause problems because these offsets were not really being used inside the CoordinateDescentMinimizer. However the recent change which parallelizes Program::Plus uncovered this bug. The reason this bug was not caught was because, CoordinateDescentMinimizer does not have any tests. I will fix this shortly, but in the interim to unbreak inner iterations at head, this small change should go in. Change-Id: I55d2698e8509f9cb5751e7a5180427129d86e720
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.