L-BFGS optimizer for unconstrained minimization.
More...
#include <lbfgs.h>
|
| using | Objective = std::function< double(const Vec &, Vec &)> |
| | Objective function signature: f(x, gradient) -> energy.
|
| |
| using | Callback = std::function< bool(int, const Vec &, double, const Vec &)> |
| | Optional callback after each iteration: callback(iter, x, f, g) -> continue?
|
| |
L-BFGS optimizer for unconstrained minimization.
Implements the Limited-memory Broyden-Fletcher-Goldfarb-Shanno algorithm with strong Wolfe line search.
Usage:
auto result = optimizer.minimize(
return f;
},
x0, max_iter);
L-BFGS optimizer for unconstrained minimization.
Definition lbfgs.h:57
const LBFGSSettings & settings() const
Access settings.
Definition lbfgs.h:89
Eigen::VectorXd Vec
Definition linear_algebra.h:62
◆ Callback
Optional callback after each iteration: callback(iter, x, f, g) -> continue?
◆ Objective
Objective function signature: f(x, gradient) -> energy.
◆ LBFGS()
◆ minimize() [1/2]
Minimize with iteration callback.
- Parameters
-
| f | Objective function |
| x0 | Initial parameters |
| callback | Called after each iteration; return false to stop |
| max_iter | Maximum number of iterations |
- Returns
- Optimization result
◆ minimize() [2/2]
Minimize the objective function starting from x0.
- Parameters
-
| f | Objective function computing f(x) and storing gradient in g |
| x0 | Initial parameters |
| max_iter | Maximum number of iterations |
- Returns
- Optimization result
◆ settings() [1/2]
◆ settings() [2/2]
The documentation for this class was generated from the following file:
- /home/runner/work/occ/occ/include/occ/mults/lbfgs.h