RDKit
Open-source cheminformatics and machine learning.
|
Functions | |
template<typename EnergyFunctor > | |
void | linearSearch (unsigned int dim, double *oldPt, double oldVal, double *grad, double *dir, double *newPt, double &newVal, EnergyFunctor func, double maxStep, int &resCode) |
Do a Quasi-Newton minimization along a line. | |
template<typename EnergyFunctor , typename GradientFunctor > | |
int | minimize (unsigned int dim, double *pos, double gradTol, unsigned int &numIters, double &funcVal, EnergyFunctor func, GradientFunctor gradFunc, unsigned int snapshotFreq, RDKit::SnapshotVect *snapshotVect, double funcTol=TOLX, unsigned int maxIts=MAXITS) |
Do a BFGS minimization of a function. | |
template<typename EnergyFunctor , typename GradientFunctor > | |
int | minimize (unsigned int dim, double *pos, double gradTol, unsigned int &numIters, double &funcVal, EnergyFunctor func, GradientFunctor gradFunc, double funcTol=TOLX, unsigned int maxIts=MAXITS) |
Do a BFGS minimization of a function. | |
Variables | |
RDKIT_OPTIMIZER_EXPORT int | HEAD_ONLY_LIBRARY |
RDKIT_OPTIMIZER_EXPORT int | REALLY_A_HEADER_ONLY_LIBRARY |
const double | FUNCTOL |
Default tolerance for function convergence in the minimizer. | |
const double | MOVETOL |
Default tolerance for x changes in the minimizer. | |
const int | MAXITS = 200 |
Default maximum number of iterations. | |
const double | EPS = 3e-8 |
Default gradient tolerance in the minimizer. | |
const double | TOLX |
Default direction vector tolerance in the minimizer. | |
const double | MAXSTEP = 100.0 |
Default maximum step size in the minimizer. | |
void BFGSOpt::linearSearch | ( | unsigned int | dim, |
double * | oldPt, | ||
double | oldVal, | ||
double * | grad, | ||
double * | dir, | ||
double * | newPt, | ||
double & | newVal, | ||
EnergyFunctor | func, | ||
double | maxStep, | ||
int & | resCode | ||
) |
Do a Quasi-Newton minimization along a line.
See Numerical Recipes in C, Section 9.7 for a description of the algorithm.
dim | the dimensionality of the space. |
oldPt | the current position, as an array. |
oldVal | the current function value. |
grad | the value of the function gradient at oldPt |
dir | the minimization direction |
newPt | used to return the final position |
newVal | used to return the final function value |
func | the function to minimize |
maxStep | the maximum allowable step size |
resCode | used to return the results of the search. |
Possible values for resCode are on return are:
Definition at line 52 of file BFGSOpt.h.
References FUNCTOL, MOVETOL, and PRECONDITION.
Referenced by minimize().
int BFGSOpt::minimize | ( | unsigned int | dim, |
double * | pos, | ||
double | gradTol, | ||
unsigned int & | numIters, | ||
double & | funcVal, | ||
EnergyFunctor | func, | ||
GradientFunctor | gradFunc, | ||
double | funcTol = TOLX , |
||
unsigned int | maxIts = MAXITS |
||
) |
Do a BFGS minimization of a function.
dim | the dimensionality of the space. |
pos | the starting position, as an array. |
gradTol | tolerance for gradient convergence |
numIters | used to return the number of iterations required |
funcVal | used to return the final function value |
func | the function to minimize |
gradFunc | calculates the gradient of func |
funcTol | tolerance for changes in the function value for convergence. |
maxIts | maximum number of iterations allowed |
Definition at line 389 of file BFGSOpt.h.
References minimize().
int BFGSOpt::minimize | ( | unsigned int | dim, |
double * | pos, | ||
double | gradTol, | ||
unsigned int & | numIters, | ||
double & | funcVal, | ||
EnergyFunctor | func, | ||
GradientFunctor | gradFunc, | ||
unsigned int | snapshotFreq, | ||
RDKit::SnapshotVect * | snapshotVect, | ||
double | funcTol = TOLX , |
||
unsigned int | maxIts = MAXITS |
||
) |
Do a BFGS minimization of a function.
See Numerical Recipes in C, Section 10.7 for a description of the algorithm.
dim | the dimensionality of the space. |
pos | the starting position, as an array. |
gradTol | tolerance for gradient convergence |
numIters | used to return the number of iterations required |
funcVal | used to return the final function value |
func | the function to minimize |
gradFunc | calculates the gradient of func |
funcTol | tolerance for changes in the function value for convergence. |
maxIts | maximum number of iterations allowed |
snapshotFreq | a snapshot of the minimization trajectory will be stored after as many steps as indicated through this parameter; defaults to 0 (no snapshots stored) |
snapshotVect | pointer to a std::vector<Snapshot> object that will receive the coordinates and energies every snapshotFreq steps; defaults to NULL (no snapshots stored) |
Definition at line 193 of file BFGSOpt.h.
References CHECK_INVARIANT, CLEANUP, EPS, linearSearch(), MAXSTEP, PRECONDITION, RDUNUSED_PARAM, and TOLX.
Referenced by minimize().
const double BFGSOpt::EPS = 3e-8 |
Default gradient tolerance in the minimizer.
Definition at line 26 of file BFGSOpt.h.
Referenced by minimize().
const double BFGSOpt::FUNCTOL |
Default tolerance for function convergence in the minimizer.
Definition at line 21 of file BFGSOpt.h.
Referenced by linearSearch().
|
extern |
const int BFGSOpt::MAXITS = 200 |
const double BFGSOpt::MAXSTEP = 100.0 |
Default maximum step size in the minimizer.
Definition at line 29 of file BFGSOpt.h.
Referenced by minimize().
const double BFGSOpt::MOVETOL |
Default tolerance for x changes in the minimizer.
Definition at line 23 of file BFGSOpt.h.
Referenced by linearSearch().
|
extern |
const double BFGSOpt::TOLX |
Default direction vector tolerance in the minimizer.
Definition at line 27 of file BFGSOpt.h.
Referenced by minimize().