![]() |
Chemical Data Processing Library C++ API - Version 1.2.3
|
Fletcher's implementation of the BFGS method. More...
#include <BFGSMinimizer.hpp>
Inheritance diagram for CDPL::Math::BFGSMinimizer< VA, VT, FVT >:Public Types | |
| enum | Status { SUCCESS = 0 , NO_PROGRESS = 1 , ITER_LIMIT_REACHED = 2 , GNORM_REACHED = 4 , DELTAF_REACHED = 8 } |
| typedef VA | VariableArrayType |
| typedef VT | ValueType |
| typedef FVT | FunctionValueType |
| typedef std::function< FVT(const VA &, VA &)> | GradientFunction |
| typedef std::function< FVT(const VA &)> | ObjectiveFunction |
Public Member Functions | |
| BFGSMinimizer (const ObjectiveFunction &func, const GradientFunction &grad_func) | |
| ValueType | getGradientNorm () const |
| ValueType | getFunctionDelta () const |
| ValueType | getFunctionValue () const |
| std::size_t | getNumIterations () const |
| Status | getStatus () const |
| Status | minimize (VariableArrayType &x, VariableArrayType &g, std::size_t max_iter, const ValueType &g_norm, const ValueType &delta_f, bool do_setup=true) |
| ValueType | setup (const VariableArrayType &x, VariableArrayType &g, const ValueType &step_size=0.001, const ValueType &tol=0.15) |
| Status | iterate (ValueType &f, VariableArrayType &x, VariableArrayType &g) |
Fletcher's implementation of the BFGS method.
The implementation has been taken from the GNU Scientific Library.
| typedef VA CDPL::Math::BFGSMinimizer< VA, VT, FVT >::VariableArrayType |
| typedef VT CDPL::Math::BFGSMinimizer< VA, VT, FVT >::ValueType |
| typedef FVT CDPL::Math::BFGSMinimizer< VA, VT, FVT >::FunctionValueType |
| typedef std::function<FVT(const VA&, VA&)> CDPL::Math::BFGSMinimizer< VA, VT, FVT >::GradientFunction |
| typedef std::function<FVT(const VA&)> CDPL::Math::BFGSMinimizer< VA, VT, FVT >::ObjectiveFunction |
| enum CDPL::Math::BFGSMinimizer::Status |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |