bpp-phyl
2.2.0
|
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>
Classes | |
class | PNStopCondition |
Public Member Functions | |
PseudoNewtonOptimizer (DerivableSecondOrder *function) | |
virtual | ~PseudoNewtonOptimizer () |
PseudoNewtonOptimizer * | clone () const |
const DerivableSecondOrder * | getFunction () const |
DerivableSecondOrder * | getFunction () |
void | doInit (const ParameterList ¶ms) 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 |
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.
PseudoNewtonOptimizer::PseudoNewtonOptimizer | ( | DerivableSecondOrder * | function | ) |
Definition at line 71 of file PseudoNewtonOptimizer.cpp.
Referenced by clone().
|
inlinevirtual |
Definition at line 97 of file PseudoNewtonOptimizer.h.
|
inline |
Definition at line 99 of file PseudoNewtonOptimizer.h.
References PseudoNewtonOptimizer().
|
inline |
Definition at line 125 of file PseudoNewtonOptimizer.h.
References useCG_.
void PseudoNewtonOptimizer::doInit | ( | const ParameterList & | params | ) | |
throw | ( | Exception | |||
) |
Definition at line 86 of file PseudoNewtonOptimizer.cpp.
double PseudoNewtonOptimizer::doStep | ( | ) | ||
throw | ( | Exception | ||
) |
Definition at line 96 of file PseudoNewtonOptimizer.cpp.
References getFunction(), maxCorrection_, n_, params_, previousPoint_, previousValue_, and useCG_.
|
inline |
Definition at line 102 of file PseudoNewtonOptimizer.h.
Referenced by doStep().
|
inline |
Definition at line 106 of file PseudoNewtonOptimizer.h.
|
inlineprotected |
Definition at line 128 of file PseudoNewtonOptimizer.h.
|
inline |
Definition at line 116 of file PseudoNewtonOptimizer.h.
|
inline |
Definition at line 123 of file PseudoNewtonOptimizer.h.
References maxCorrection_.
|
friend |
Definition at line 77 of file PseudoNewtonOptimizer.h.
|
private |
Definition at line 89 of file PseudoNewtonOptimizer.h.
Referenced by doStep(), and setMaximumNumberOfCorrections().
|
private |
Definition at line 85 of file PseudoNewtonOptimizer.h.
Referenced by doStep().
|
private |
Definition at line 87 of file PseudoNewtonOptimizer.h.
Referenced by doStep().
|
private |
Definition at line 81 of file PseudoNewtonOptimizer.h.
Referenced by doStep().
|
private |
Definition at line 83 of file PseudoNewtonOptimizer.h.
Referenced by doStep(), and bpp::PseudoNewtonOptimizer::PNStopCondition::getCurrentTolerance().
|
private |
Definition at line 91 of file PseudoNewtonOptimizer.h.
Referenced by disableCG(), and doStep().