MADNESS 0.10.1
|
Unconstrained minimization via steepest descent. More...
#include <solvers.h>
Public Member Functions | |
SteepestDescent (const std::shared_ptr< OptimizationTargetInterface > &tar, double tol=1e-6, double value_precision=1e-12, double gradient_precision=1e-12) | |
virtual | ~SteepestDescent () |
bool | converged () const |
double | gradient_norm () const |
bool | optimize (Tensor< double > &x) |
double | value () const |
Public Member Functions inherited from madness::OptimizerInterface | |
virtual | ~OptimizerInterface () |
Private Attributes | |
double | f |
double | gnorm |
std::shared_ptr< OptimizationTargetInterface > | target |
const double | tol |
Unconstrained minimization via steepest descent.
SteepestDescent::SteepestDescent | ( | const std::shared_ptr< OptimizationTargetInterface > & | tar, |
double | tol = 1e-6 , |
||
double | value_precision = 1e-12 , |
||
double | gradient_precision = 1e-12 |
||
) |
References target.
|
inlinevirtual |
|
virtual |
|
virtual |
Implements madness::OptimizerInterface.
References gnorm.
|
virtual |
Implements madness::OptimizerInterface.
References converged(), f, madness::g, madness::Tensor< T >::gaxpy(), gnorm, madness::Tensor< T >::normf(), madness::print(), and target.
|
virtual |
Implements madness::OptimizerInterface.
References f.
|
private |
Referenced by optimize(), and value().
|
private |
Referenced by converged(), gradient_norm(), and optimize().
|
private |
Referenced by SteepestDescent(), and optimize().
|
private |
Referenced by converged().