MADNESS
0.10.1
|
Optimization via quasi-Newton (BFGS or SR1 update) More...
Public Member Functions | |
QuasiNewton (const std::shared_ptr< OptimizationTargetInterface > &target, double tol=1e-6, double value_precision=1e-12, double gradient_precision=1e-12) | |
bool | converged () const |
double | gradient_norm () const |
bool | optimize (Tensor< double > &x) |
void | set_update (const string &method) |
double | value () const |
Public Member Functions inherited from madness::OptimizerInterface | |
virtual | ~OptimizerInterface () |
Private Member Functions | |
void | hessian_update_bfgs (const Tensor< double > &dx, const Tensor< double > &dg) |
void | hessian_update_sr1 (const Tensor< double > &s, const Tensor< double > &y) |
double | line_search (double a1, double f0, double dxgrad, const Tensor< double > &x, const Tensor< double > &dx) |
Tensor< double > | new_search_direction (const Tensor< double > &g) |
Private Attributes | |
double | f |
double | gnorm |
const double | gradient_precision |
Tensor< double > | h |
int | n |
std::shared_ptr< OptimizationTargetInterface > | target |
const double | tol |
string | update |
const double | value_precision |
Optimization via quasi-Newton (BFGS or SR1 update)
|
inline |
References target().
|
inlinevirtual |
Implements madness::OptimizerInterface.
|
inlinevirtual |
Implements madness::OptimizerInterface.
|
inlineprivate |
References madness::abs(), h(), madness::inner(), and madness::Tensor< T >::trace().
|
inlineprivate |
References madness::abs(), e(), h(), madness::inner(), madness::outer(), and q().
|
inlineprivate |
References a1, a2, madness::abs(), f1, madness::print(), and target().
References madness::abs(), e(), madness::g, h(), madness::inner(), madness::syev(), and v.
|
inlinevirtual |
Implements madness::OptimizerInterface.
References madness::BaseTensor::dim(), madness::f, madness::g, h(), madness::print(), madness::Tensor< T >::scale(), target(), madness::Tensor< T >::trace(), and update().
|
inline |
References update().
|
inlinevirtual |
Implements madness::OptimizerInterface.
References madness::f.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |