Public Member Functions | Protected Member Functions | Private Types | Private Attributes | List of all members
PLMD::ConjugateGradient< FCLASS > Class Template Reference

#include <ConjugateGradient.h>

Inheritance diagram for PLMD::ConjugateGradient< FCLASS >:
Inheritance graph
[legend]

Public Member Functions

 ConjugateGradient (FCLASS *funcc)
 
double linemin (const std::vector< double > &dir, std::vector< double > &p, engf_pointer myfunc) const
 This is the line minimiser. More...
 
void minimise (const double &ftol, std::vector< double > &p, engf_pointer myfunc) const
 

Protected Member Functions

double calcDerivatives (const std::vector< double > &p, std::vector< double > &der, engf_pointer myfunc) const
 This calculates the derivatives at a point. More...
 

Private Types

typedef double(FCLASS::* engf_pointer) (const std::vector< double > &p, std::vector< double > &der)
 This is the pointer to the member function in the energy calculating class that calculates the energy. More...
 

Private Attributes

const double EPS
 
const unsigned ITMAX
 
FCLASS * myclass_func
 The class that calculates the energy given a position. More...
 

Member Typedef Documentation

◆ engf_pointer

template<class FCLASS >
typedef double(FCLASS::* PLMD::ConjugateGradient< FCLASS >::engf_pointer) (const std::vector< double > &p, std::vector< double > &der)
private

This is the pointer to the member function in the energy calculating class that calculates the energy.

Constructor & Destructor Documentation

◆ ConjugateGradient()

template<class FCLASS >
PLMD::ConjugateGradient< FCLASS >::ConjugateGradient ( FCLASS *  funcc)
inlineexplicit

Member Function Documentation

◆ calcDerivatives()

template<class FCLASS >
double PLMD::MinimiseBase< FCLASS >::calcDerivatives ( const std::vector< double > &  p,
std::vector< double > &  der,
engf_pointer  myfunc 
) const
protectedinherited

This calculates the derivatives at a point.

◆ linemin()

template<class FCLASS >
double PLMD::MinimiseBase< FCLASS >::linemin ( const std::vector< double > &  dir,
std::vector< double > &  p,
engf_pointer  myfunc 
) const
inherited

This is the line minimiser.

◆ minimise()

template<class FCLASS >
void PLMD::ConjugateGradient< FCLASS >::minimise ( const double &  ftol,
std::vector< double > &  p,
engf_pointer  myfunc 
) const

Member Data Documentation

◆ EPS

template<class FCLASS >
const double PLMD::ConjugateGradient< FCLASS >::EPS
private

◆ ITMAX

template<class FCLASS >
const unsigned PLMD::ConjugateGradient< FCLASS >::ITMAX
private

◆ myclass_func

template<class FCLASS >
FCLASS* PLMD::MinimiseBase< FCLASS >::myclass_func
privateinherited

The class that calculates the energy given a position.


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