MADNESS 0.10.1
SteepestDescent Class Reference

Optimization via steepest descent. More...

Inheritance diagram for SteepestDescent:
Collaboration diagram for SteepestDescent:

Public Member Functions

 SteepestDescent (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)
double value () const
Public Member Functions inherited from madness::OptimizerInterface
virtual ~OptimizerInterface ()

Private Attributes

double f
double gnorm
const double gradient_precision
std::shared_ptr< OptimizationTargetInterface > target
const double tol
const double value_precision

Detailed Description

Optimization via steepest descent.

Constructor & Destructor Documentation

◆ SteepestDescent()

SteepestDescent::SteepestDescent ( const std::shared_ptr< OptimizationTargetInterface > & target,
double tol = 1e-6,
double value_precision = 1e-12,
double gradient_precision = 1e-12 )
inline

Member Function Documentation

◆ converged()

bool SteepestDescent::converged ( ) const
inlinevirtual

Implements madness::OptimizerInterface.

References gnorm, and tol.

Referenced by optimize().

◆ gradient_norm()

double SteepestDescent::gradient_norm ( ) const
inlinevirtual

Implements madness::OptimizerInterface.

References gnorm.

◆ optimize()

bool SteepestDescent::optimize ( Tensor< double > & x)
inlinevirtual

◆ value()

double SteepestDescent::value ( ) const
inlinevirtual

Implements madness::OptimizerInterface.

References f.

Member Data Documentation

◆ f

double SteepestDescent::f
private

Referenced by optimize(), and value().

◆ gnorm

double SteepestDescent::gnorm
private

◆ gradient_precision

const double SteepestDescent::gradient_precision
private

Referenced by SteepestDescent().

◆ target

std::shared_ptr<OptimizationTargetInterface> SteepestDescent::target
private

Referenced by SteepestDescent(), and optimize().

◆ tol

const double SteepestDescent::tol
private

Referenced by SteepestDescent(), and converged().

◆ value_precision

const double SteepestDescent::value_precision
private

Referenced by SteepestDescent().


The documentation for this class was generated from the following file: