Diana Software
Public Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
QMinimizer Class Reference

find maximum and minimum of a QMathFunction, the minimum search stops when |a - b| < epsabs + epsrel min(|a|,|b|) More...

Public Member Functions

 QMinimizer ()
 constructor More...
 
 ~QMinimizer ()
 destructor More...
 
void SetVerbose ()
 verbose (print iteration steps) More...
 
double GetMinimum (QMathFunction func, double minx, double maxx, double epsabs=0.001, double epsrel=0.0)
 get function minimum More...
 
double GetMaximum (QMathFunction func, double minx, double maxx, double epsabs=0.001, double epsrel=0.0)
 get function maximum More...
 

Static Private Member Functions

static double MinusFunc (double x, double *params)
 pointer to mins this function, (to find maximum with the minimum algorithm) More...
 

Private Attributes

gsl_min_fminimizer * fMinimizer
 underlying gsl minimizer More...
 
bool fVerbose
 verbose More...
 

Static Private Attributes

static QMathFunction::QRoutinePointer fCurrentFunction
 pointer to current function being minimized More...
 

Detailed Description

find maximum and minimum of a QMathFunction, the minimum search stops when |a - b| < epsabs + epsrel min(|a|,|b|)

Author
Marco Vignati

Definition at line 19 of file QMinimizer.hh.

Constructor & Destructor Documentation

◆ QMinimizer()

QMinimizer::QMinimizer ( )

constructor

Definition at line 9 of file QMinimizer.cc.

References fMinimizer, and fVerbose.

◆ ~QMinimizer()

QMinimizer::~QMinimizer ( )

destructor

Definition at line 17 of file QMinimizer.cc.

Member Function Documentation

◆ GetMaximum()

double QMinimizer::GetMaximum ( QMathFunction  func,
double  minx,
double  maxx,
double  epsabs = 0.001,
double  epsrel = 0.0 
)

get function maximum

Parameters
functhe function
maxf(x_max)
maxposx_max
epsabsabsolute precision
epsrelrelative precision

Definition at line 70 of file QMinimizer.cc.

References fCurrentFunction, QMathFunction::fRoutine, GetMinimum(), and MinusFunc().

Referenced by QMathFunction::GetMaximum().

◆ GetMinimum()

double QMinimizer::GetMinimum ( QMathFunction  func,
double  minx,
double  maxx,
double  epsabs = 0.001,
double  epsrel = 0.0 
)

get function minimum

Parameters
functhe function
minf(x_min)
minposx_min
epsabsabsolute precision
epsrelrelative precision

Definition at line 22 of file QMinimizer.cc.

References fMinimizer, fVerbose, QMathFunction::GetGSLFunction(), min(), and Q_DOUBLE_DEFAULT.

Referenced by GetMaximum(), and QMathFunction::GetMinimum().

◆ MinusFunc()

double QMinimizer::MinusFunc ( double  x,
double *  params 
)
staticprivate

pointer to mins this function, (to find maximum with the minimum algorithm)

Definition at line 65 of file QMinimizer.cc.

Referenced by GetMaximum().

◆ SetVerbose()

void QMinimizer::SetVerbose ( )
inline

verbose (print iteration steps)

Definition at line 27 of file QMinimizer.hh.

References fVerbose.

Referenced by QMathFunction::GetMaximum(), and QMathFunction::GetMinimum().

Member Data Documentation

◆ fCurrentFunction

Q_BEGIN_NAMESPACE QMathFunction::QRoutinePointer QMinimizer::fCurrentFunction
staticprivate

pointer to current function being minimized

Definition at line 49 of file QMinimizer.hh.

Referenced by GetMaximum().

◆ fMinimizer

gsl_min_fminimizer* QMinimizer::fMinimizer
private

underlying gsl minimizer

Definition at line 54 of file QMinimizer.hh.

Referenced by GetMinimum(), and QMinimizer().

◆ fVerbose

bool QMinimizer::fVerbose
private

verbose

Definition at line 56 of file QMinimizer.hh.

Referenced by GetMinimum(), QMinimizer(), and SetVerbose().


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