bpp-phyl  2.2.0
bpp::PseudoNewtonOptimizer Class Reference

This Optimizer implements Newton's algorithm for finding a minimum of a function. This is in fact a modified version of the algorithm, as suggested by Nicolas Galtier, for the purpose of optimizing phylogenetic likelihoods. More...

#include <Bpp/Phyl/Likelihood/PseudoNewtonOptimizer.h>

+ Inheritance diagram for bpp::PseudoNewtonOptimizer:
+ Collaboration diagram for bpp::PseudoNewtonOptimizer:

Classes

class  PNStopCondition
 

Public Member Functions

 PseudoNewtonOptimizer (DerivableSecondOrder *function)
 
virtual ~PseudoNewtonOptimizer ()
 
PseudoNewtonOptimizerclone () const
 
const DerivableSecondOrder * getFunction () const
 
DerivableSecondOrder * getFunction ()
 
void doInit (const ParameterList &params) throw (Exception)
 
double doStep () throw (Exception)
 
void setMaximumNumberOfCorrections (unsigned int mx)
 
void disableCG ()
 
The Optimizer interface.
double getFunctionValue () const throw (NullPointerException)
 

Protected Member Functions

DerivableSecondOrder * getFunction_ ()
 

Private Attributes

ParameterList previousPoint_
 
double previousValue_
 
size_t n_
 
std::vector< std::string > params_
 
unsigned int maxCorrection_
 
bool useCG_
 

Friends

class PNStopCondition
 

Detailed Description

This Optimizer implements Newton's algorithm for finding a minimum of a function. This is in fact a modified version of the algorithm, as suggested by Nicolas Galtier, for the purpose of optimizing phylogenetic likelihoods.

Only second simple order derivative are computed, no cross derivative, following Galtier's algorithm. Felsenstein and Churchill's (1996) correction is applied when new trial as a likelihood lower than the starting point.

Definition at line 58 of file PseudoNewtonOptimizer.h.

Constructor & Destructor Documentation

◆ PseudoNewtonOptimizer()

PseudoNewtonOptimizer::PseudoNewtonOptimizer ( DerivableSecondOrder *  function)

Definition at line 71 of file PseudoNewtonOptimizer.cpp.

Referenced by clone().

◆ ~PseudoNewtonOptimizer()

virtual bpp::PseudoNewtonOptimizer::~PseudoNewtonOptimizer ( )
inlinevirtual

Definition at line 97 of file PseudoNewtonOptimizer.h.

Member Function Documentation

◆ clone()

PseudoNewtonOptimizer* bpp::PseudoNewtonOptimizer::clone ( ) const
inline

Definition at line 99 of file PseudoNewtonOptimizer.h.

References PseudoNewtonOptimizer().

◆ disableCG()

void bpp::PseudoNewtonOptimizer::disableCG ( )
inline

Definition at line 125 of file PseudoNewtonOptimizer.h.

References useCG_.

◆ doInit()

void PseudoNewtonOptimizer::doInit ( const ParameterList &  params)
throw (Exception
)

Definition at line 86 of file PseudoNewtonOptimizer.cpp.

◆ doStep()

double PseudoNewtonOptimizer::doStep ( )
throw (Exception
)

◆ getFunction() [1/2]

const DerivableSecondOrder* bpp::PseudoNewtonOptimizer::getFunction ( ) const
inline

Definition at line 102 of file PseudoNewtonOptimizer.h.

Referenced by doStep().

◆ getFunction() [2/2]

DerivableSecondOrder* bpp::PseudoNewtonOptimizer::getFunction ( )
inline

Definition at line 106 of file PseudoNewtonOptimizer.h.

◆ getFunction_()

DerivableSecondOrder* bpp::PseudoNewtonOptimizer::getFunction_ ( )
inlineprotected

Definition at line 128 of file PseudoNewtonOptimizer.h.

◆ getFunctionValue()

double bpp::PseudoNewtonOptimizer::getFunctionValue ( ) const
throw (NullPointerException
)
inline

Definition at line 116 of file PseudoNewtonOptimizer.h.

◆ setMaximumNumberOfCorrections()

void bpp::PseudoNewtonOptimizer::setMaximumNumberOfCorrections ( unsigned int  mx)
inline

Definition at line 123 of file PseudoNewtonOptimizer.h.

References maxCorrection_.

Friends And Related Function Documentation

◆ PNStopCondition

friend class PNStopCondition
friend

Definition at line 77 of file PseudoNewtonOptimizer.h.

Member Data Documentation

◆ maxCorrection_

unsigned int bpp::PseudoNewtonOptimizer::maxCorrection_
private

Definition at line 89 of file PseudoNewtonOptimizer.h.

Referenced by doStep(), and setMaximumNumberOfCorrections().

◆ n_

size_t bpp::PseudoNewtonOptimizer::n_
private

Definition at line 85 of file PseudoNewtonOptimizer.h.

Referenced by doStep().

◆ params_

std::vector<std::string> bpp::PseudoNewtonOptimizer::params_
private

Definition at line 87 of file PseudoNewtonOptimizer.h.

Referenced by doStep().

◆ previousPoint_

ParameterList bpp::PseudoNewtonOptimizer::previousPoint_
private

Definition at line 81 of file PseudoNewtonOptimizer.h.

Referenced by doStep().

◆ previousValue_

double bpp::PseudoNewtonOptimizer::previousValue_
private

◆ useCG_

bool bpp::PseudoNewtonOptimizer::useCG_
private

Definition at line 91 of file PseudoNewtonOptimizer.h.

Referenced by disableCG(), and doStep().


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