|
MADNESS
version 0.9
|
Optimization via quasi-Newton (BFGS or SR1 update) More...
#include <solvers.h>


Public Member Functions | |
| QuasiNewton (const std::shared_ptr< OptimizationTargetInterface > &tar, int maxiter=20, double tol=1e-6, double value_precision=1e-12, double gradient_precision=1e-12) | |
| void | set_update (const std::string &method) |
| Choose update method (currently only "BFGS" or "SR1") More... | |
| void | set_test (const bool &test_level) |
| Choose update method (currently only "BFGS" or "SR1") More... | |
| bool | optimize (Tensor< double > &x) |
| Runs the optimizer. More... | |
| bool | converged () const |
| After running the optimizer returns true if converged. More... | |
| double | value () const |
| Value of objective function. More... | |
| void | reset_hessian () |
| Resets Hessian to default guess. More... | |
| void | set_hessian (const Tensor< double > &matrix) |
| Sets Hessian to given matrix. More... | |
| double | gradient_norm () const |
| Value of gradient norm. More... | |
| virtual | ~QuasiNewton () |
Public Member Functions inherited from madness::OptimizerInterface | |
| virtual | ~OptimizerInterface () |
Optimization via quasi-Newton (BFGS or SR1 update)
This is presently not a low memory algorithm ... we really need one!
| QuasiNewton::QuasiNewton | ( | const std::shared_ptr< OptimizationTargetInterface > & | tar, |
| int | maxiter = 20, |
||
| double | tol = 1e-6, |
||
| double | value_precision = 1e-12, |
||
| double | gradient_precision = 1e-12 |
||
| ) |
|
inlinevirtual |
|
virtual |
After running the optimizer returns true if converged.
Implements madness::OptimizerInterface.
Referenced by optimize().
|
virtual |
Value of gradient norm.
Implements madness::OptimizerInterface.
|
virtual |
Runs the optimizer.
Implements madness::OptimizerInterface.
References converged(), madness::g, madness::print(), madness::OptimizationTargetInterface::test_gradient(), and madness::OptimizationTargetInterface::value_and_gradient().
Referenced by main().
|
inline |
Resets Hessian to default guess.
Referenced by main().
|
inline |
| void QuasiNewton::set_test | ( | const bool & | test_level | ) |
Choose update method (currently only "BFGS" or "SR1")
Referenced by main().
| void QuasiNewton::set_update | ( | const std::string & | method | ) |
Choose update method (currently only "BFGS" or "SR1")
Referenced by main().
|
virtual |
Value of objective function.
Implements madness::OptimizerInterface.
1.8.8