yat
0.20.3pre
|
#include <yat/utility/FletcherReevesConjugate.h>
Public Member Functions | |
FletcherReevesConjugate (size_t size) | |
unsigned int | epochs (void) const |
Number of epochs (iterations) used in last minimisation. | |
double | step_size (void) const |
void | step_size (double ss) |
double | tolerance (void) const |
void | tolerance (double tol) |
template<class FUNC > | |
void | operator() (yat::utility::VectorMutable &, FUNC &func, MultiMinimizerDerivative::Stopper &&stopper) |
template<class FUNC > | |
void | operator() (yat::utility::VectorMutable &, FUNC &func, MultiMinimizerDerivative::Stopper &&stopper, unsigned int max_epochs) |
Wrapper around GSL gsl_multimin_fdfminimizer_conjugate_fr
theplu::yat::utility::FletcherReevesConjugate::FletcherReevesConjugate | ( | size_t | size | ) |
size | dimension of space we are minimizing in. |
|
inherited |
Function finds an x
that minimizes the function defined by func
. It calls gsl_multimin_fdfminimizer_iterate until either GSL_ENOPROG
is returned or the norm of the gradient is smaller than epsabs
, as tested by gsl_multimin_test_gradient.
Type Requirements:
FUNC
must have an operator defining the function double operator()(const VectorBase& x)FUNC
must have an operator defining the gradient void operator()(const VectorBase& x, VectorMutable&)
|
inherited |
Same as operator()(yat::utility::VectorMutable&, FUNC& func, double epsabs) but iterate at maximum max_epochs
iterations.
|
inherited |
The size of the first trial step is given by step_size
|
inherited |
The size of the first trial step is given by step_size
|
inherited |
The accuracy of the line minimization is specified by tolerance
|
inherited |
The accuracy of the line minimization is specified by tolerance