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

Unconstrained minimization via steepest descent. More...

#include <solvers.h>

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

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< OptimizationTargetInterfacetarget
 
const double tol
 

Detailed Description

Unconstrained minimization via steepest descent.

Constructor & Destructor Documentation

◆ SteepestDescent()

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

References target.

◆ ~SteepestDescent()

virtual madness::SteepestDescent::~SteepestDescent ( )
inlinevirtual

Member Function Documentation

◆ converged()

bool SteepestDescent::converged ( ) const
virtual

Implements madness::OptimizerInterface.

References gnorm, and tol.

Referenced by optimize().

◆ gradient_norm()

double SteepestDescent::gradient_norm ( ) const
virtual

Implements madness::OptimizerInterface.

References gnorm.

◆ optimize()

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

◆ value()

double SteepestDescent::value ( ) const
virtual

Implements madness::OptimizerInterface.

References f.

Member Data Documentation

◆ f

double madness::SteepestDescent::f
private

Referenced by optimize(), and value().

◆ gnorm

double madness::SteepestDescent::gnorm
private

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

◆ target

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

Referenced by SteepestDescent(), and optimize().

◆ tol

const double madness::SteepestDescent::tol
private

Referenced by converged().


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