9#include "gsl/gsl_multimin.h"
10#include "gsl/gsl_vector.h"
33 double initalStepSize = 0.00;
34 double stepTolerance = 0.00;
35 double lastXtolAbs = 0.00;
36 double lastXtolRel = 0.00;
37 double lastFtolAbs = 0.00;
38 double lastFtolRel = 0.00;
39 double lastGtol = 0.00;
40 double xtolAbs = 0.00;
41 double xtolRel = 0.00;
42 double ftolAbs = 0.00;
43 double ftolRel = 0.00;
45 size_t iterations = 0;
46 size_t maxIterations = 0;
47 size_t elapsedTimeMicro = 0;
73 double ftolAbs,
double ftolRel,
double gtol,
75 double (*f)(
const gsl_vector* x,
void* params),
79 : maxIterations(maxIterations),
85 objectiveFunctionDefs.f = f;
86 objectiveFunctionDefs.df =
df;
87 objectiveFunctionDefs.fdf =
fdf;
104 void setFtol(
double ftolAbs,
double ftolRel);
112 void setXtol(
double xtolAbs,
double xtolRel);
136 bool verbose =
false);
140 const double xtolAbs,
const double xtolRel,
143 const double ftolAbs,
const double ftolRel,
151 size_t maxIterations;
152 double xtolAbs, xtolRel;
153 double ftolAbs, ftolRel;
Definition dirac_to_dirac_approx_short.h:9
helper class to use GSL fdf minimizer
Definition gsl_minimizer.h:55
void setFtol(double ftolAbs, double ftolRel)
set the absolute and relative tolerance for x
Definition gsl_minimizer.cpp:57
gsl_minimizer(size_t maxIterations, double xtolAbs, double xtolRel, double ftolAbs, double ftolRel, double gtol, GslMinimizerOptimizationParams *optimiziationParams, double(*f)(const gsl_vector *x, void *params), void(*df)(const gsl_vector *x, void *params, gsl_vector *df), void(*fdf)(const gsl_vector *x, void *params, double *f, gsl_vector *df))
Construct a new gsl minimizer object.
Definition gsl_minimizer.h:72
void setGtol(double gtol)
set the tolerance for gradient-norm
Definition gsl_minimizer.cpp:67
void setMaxIterations(size_t iterations)
set the maximum number of iterations to run
Definition gsl_minimizer.cpp:53
void setOptimiziationParams(GslMinimizerOptimizationParams *optimiziationParams)
set the optimization passed to the f/df/fdf-functions
Definition gsl_minimizer.cpp:69
void setXtol(double xtolAbs, double xtolRel)
set the absolute and relative tolerance for x
Definition gsl_minimizer.cpp:62
int minimize(gsl_vector *x, GslminimizerResult *result=nullptr, bool verbose=false)
minimize the function f with the given parameters
Definition gsl_minimizer.cpp:77
base struct minimizer needs to be setup with
Definition gsl_minimizer.h:18
struct to hold the result of the minimization
Definition gsl_minimizer.h:32