Deterministic Gaussian Sampling
Loading...
Searching...
No Matches
gsl_minimizer Class Reference

helper class to use GSL fdf minimizer More...

#include <gsl_minimizer.h>

Public Member Functions

 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.
 
void setMaxIterations (size_t iterations)
 set the maximum number of iterations to run
 
void setFtol (double ftolAbs, double ftolRel)
 set the absolute and relative tolerance for x
 
void setXtol (double xtolAbs, double xtolRel)
 set the absolute and relative tolerance for x
 
void setGtol (double gtol)
 set the tolerance for gradient-norm
 
void setOptimiziationParams (GslMinimizerOptimizationParams *optimiziationParams)
 set the optimization passed to the f/df/fdf-functions
 
int minimize (gsl_vector *x, GslminimizerResult *result=nullptr, bool verbose=false)
 minimize the function f with the given parameters
 

Protected Member Functions

int checkXtol (const gsl_multimin_fdfminimizer *minimizer, gsl_vector *prevX, const double xtolAbs, const double xtolRel, GslminimizerResult *result)
 
int checkFtol (const gsl_multimin_fdfminimizer *minimizer, double *prevF, const double ftolAbs, const double ftolRel, GslminimizerResult *result)
 
int checkGtol (const gsl_multimin_fdfminimizer *minimizer, const double gtol, GslminimizerResult *result)
 

Protected Attributes

GslMinimizerOptimizationParamsoptimiziationParams
 
gsl_multimin_function_fdf objectiveFunctionDefs
 
size_t maxIterations
 
double xtolAbs
 
double xtolRel
 
double ftolAbs
 
double ftolRel
 
double gtol
 

Detailed Description

helper class to use GSL fdf minimizer

Constructor & Destructor Documentation

◆ gsl_minimizer()

gsl_minimizer::gsl_minimizer ( size_t  maxIterations,
double  xtolAbs,
double  xtolRel,
double  ftolAbs,
double  ftolRel,
double  gtol,
GslMinimizerOptimizationParams optimiziationParams,
double(*)(const gsl_vector *x, void *params)  f,
void(*)(const gsl_vector *x, void *params, gsl_vector *df df,
void(*)(const gsl_vector *x, void *params, double *f, gsl_vector *df fdf 
)
inline

Construct a new gsl minimizer object.

Parameters
maxIterationsmax number of iterations to run
xtolAbsabsolute tolerance for x
xtolRelrelative tolerance for x
ftolAbsabsolute tolerance for f
ftolRelrelative tolerance for f
gtoltolerance for gradient-norm
optimiziationParamsparameters for optimization passed to the f/df/fdf-functions
fobjective function
dfgradient function
fdffunction for f and df

Member Function Documentation

◆ minimize()

int gsl_minimizer::minimize ( gsl_vector x,
GslminimizerResult result = nullptr,
bool  verbose = false 
)

minimize the function f with the given parameters

Parameters
xinitial guess for the parameters to be optimized
Returns
int GSL_SUCCESS if successful, error code otherwise

◆ setFtol()

void gsl_minimizer::setFtol ( double  ftolAbs,
double  ftolRel 
)

set the absolute and relative tolerance for x

Parameters
ftolAbsabsolute tolerance for f
ftolRelrelative tolerance for f

◆ setGtol()

void gsl_minimizer::setGtol ( double  gtol)

set the tolerance for gradient-norm

Parameters
gtoltolerance for gradient-norm

◆ setMaxIterations()

void gsl_minimizer::setMaxIterations ( size_t  iterations)

set the maximum number of iterations to run

Parameters
iterationsmaximum number of iterations

◆ setOptimiziationParams()

void gsl_minimizer::setOptimiziationParams ( GslMinimizerOptimizationParams optimiziationParams)

set the optimization passed to the f/df/fdf-functions

Parameters
optimiziationParamsoptimization parameters for the fdf-functions

◆ setXtol()

void gsl_minimizer::setXtol ( double  xtolAbs,
double  xtolRel 
)

set the absolute and relative tolerance for x

Parameters
xtolAbsabsolute tolerance for x
xtolRelrelative tolerance for x

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