commit | 6851a6386162f5de3a22dc03b379e6c70ca117bc | [log] [tgz] |
---|---|---|
author | Alex Stewart <alexs.mac@gmail.com> | Fri Apr 06 18:23:11 2018 +0100 |
committer | Alex Stewart <alexs.mac@gmail.com> | Fri Apr 06 19:57:38 2018 +0100 |
tree | 4274df9f243c4ac719a42b4405b635a8f5c32d41 | |
parent | 8202edcbb4d5bf77dd5484fd05f6442b34ec3d70 [diff] |
Fix lower-bound on result of minimising step-size polynomial. - Previously we were requesting a step-size which minimised the polynomial in: [previous.x, current.x * factor]. - This is incorrect c/f Nocedal & Wright p60, the bounds for the minimising step-size should be: [current.x, current.x * factor]. - However, Nocedal & Wright's bounds are insufficient when the function can return invalid values, which we support. - In the case that f(current) is invalid, we need to contract the step-size to lie within: [previous.x, current.x) given that we know that previous.x is valid so a valid step must exist within that range. Change-Id: I67b5aaa09cc6d54cf5f264e2cf894ddc2af3f3ad
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.
Ceres development happens on Gerrit, including both repository hosting and code reviews. The GitHub Repository is a continuously updated mirror which is primarily meant for issue tracking. Please see our Contributing to Ceres Guide for more details.
The upstream Gerrit repository is
https://ceres-solver.googlesource.com/ceres-solver