MADNESS 0.10.1
Public Member Functions | Private Attributes | List of all members
SteepestDescent Class Reference

Optimization via steepest descent. More...

Inheritance diagram for SteepestDescent:
Inheritance graph
[legend]
Collaboration diagram for SteepestDescent:
Collaboration graph
[legend]

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< OptimizationTargetInterfacetarget
 
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

References target.

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

Referenced by converged(), gradient_norm(), and optimize().

◆ gradient_precision

const double SteepestDescent::gradient_precision
private

◆ target

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

Referenced by SteepestDescent(), and optimize().

◆ tol

const double SteepestDescent::tol
private

Referenced by converged().

◆ value_precision

const double SteepestDescent::value_precision
private

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