ROOT   Reference Guide
Searching...
No Matches
ROOT::Math::GSLMinimizer1D Class Reference

Minimizer for arbitrary one dimensional functions.

Implemented using GSL, for detailed description see: GSL online doc

The algorithms uspported are only bracketing algorithm which do not use derivatives information. The algorithms which can be chosen at construction time are GOLDENSECTION, whic is the simplest method but the slowest and BRENT (the default one) which combines the golden section with a parabolic interpolation.

This class does not support copying

Definition at line 81 of file GSLMinimizer1D.h.

## Public Member Functions

GSLMinimizer1D (Minim1D::Type type=Minim1D::kBRENT)
Construct the minimizer passing the minimizer type using the Minim1D::Algorithm enumeration.

virtual ~GSLMinimizer1D ()
Destructor: free allocated resources.

double FValLower () const
Return function value at current lower bound of the minimization interval.

double FValMinimum () const
Return function value at current estimate of the minimum.

double FValUpper () const
Return function value at current upper bound of the minimization interval.

int Iterate ()
Perform a minimizer iteration and if an unexepcted problem occurr then an error code will be returned.

int Iterations () const
Return number of iteration used to find minimum.

bool Minimize (int maxIter, double absTol, double relTol)
Find minimum position iterating until convergence specified by the absolute and relative tolerance or the maximum number of iteration is reached Return true is result is successfull @param maxIter maximum number of iteration @param absTol desired absolute error in the minimum position @param absTol desired relative error in the minimum position.

const char * Name () const
Return name of minimization algorithm.

template<class UserFunc >
void SetFunction (const UserFunc &f, double xmin, double xlow, double xup)
Set, or reset, minimizer to use the function f and the initial search interval [xlow, xup], with a guess for the location of the minimum xmin.

void SetFunction (GSLFuncPointer f, void *params, double xmin, double xlow, double xup)
Set, or reset, minimizer to use the function f and the initial search interval [xlow, xup], with a guess for the location of the minimum xmin.

int Status () const
Return status of last minimization.

double XLower () const
Return current lower bound of the minimization interval.

double XMinimum () const
Return current estimate of the position of the minimum.

double XUpper () const
Return current upper bound of the minimization interval.

Public Member Functions inherited from ROOT::Math::IMinimizer1D
IMinimizer1D ()

virtual ~IMinimizer1D ()

## Static Public Member Functions

static int TestInterval (double xlow, double xup, double epsAbs, double epsRel)
Test convergence of the interval.

## Private Member Functions

GSLMinimizer1D (const GSLMinimizer1D &)

GSLMinimizer1Doperator= (const GSLMinimizer1D &)

## Private Attributes

GSLFunctionWrapperfFunction

bool fIsSet

int fIter

double fLow

double fMin

GSL1DMinimizerWrapperfMinimizer

int fStatus

double fUp

double fXlow

double fXmin

double fXup

#include <Math/GSLMinimizer1D.h>

Inheritance diagram for ROOT::Math::GSLMinimizer1D:
[legend]

## ◆ GSLMinimizer1D() [1/2]

 ROOT::Math::GSLMinimizer1D::GSLMinimizer1D ( Minim1D::Type type = Minim1D::kBRENT )
explicit

Construct the minimizer passing the minimizer type using the Minim1D::Algorithm enumeration.

Definition at line 51 of file GSLMinimizer1D.cxx.

## ◆ ~GSLMinimizer1D()

 ROOT::Math::GSLMinimizer1D::~GSLMinimizer1D ( )
virtual

Destructor: free allocated resources.

Definition at line 78 of file GSLMinimizer1D.cxx.

## ◆ GSLMinimizer1D() [2/2]

 ROOT::Math::GSLMinimizer1D::GSLMinimizer1D ( const GSLMinimizer1D & )
private

Definition at line 86 of file GSLMinimizer1D.cxx.

## ◆ FValLower()

 double ROOT::Math::GSLMinimizer1D::FValLower ( ) const
virtual

Return function value at current lower bound of the minimization interval.

Implements ROOT::Math::IMinimizer1D.

Definition at line 161 of file GSLMinimizer1D.cxx.

## ◆ FValMinimum()

 double ROOT::Math::GSLMinimizer1D::FValMinimum ( ) const
virtual

Return function value at current estimate of the minimum.

Implements ROOT::Math::IMinimizer1D.

Definition at line 156 of file GSLMinimizer1D.cxx.

## ◆ FValUpper()

 double ROOT::Math::GSLMinimizer1D::FValUpper ( ) const
virtual

Return function value at current upper bound of the minimization interval.

Implements ROOT::Math::IMinimizer1D.

Definition at line 166 of file GSLMinimizer1D.cxx.

## ◆ Iterate()

 int ROOT::Math::GSLMinimizer1D::Iterate ( )

Perform a minimizer iteration and if an unexepcted problem occurr then an error code will be returned.

Definition at line 122 of file GSLMinimizer1D.cxx.

## ◆ Iterations()

 int ROOT::Math::GSLMinimizer1D::Iterations ( ) const
inlinevirtual

Return number of iteration used to find minimum.

Implements ROOT::Math::IMinimizer1D.

Definition at line 174 of file GSLMinimizer1D.h.

## ◆ Minimize()

 bool ROOT::Math::GSLMinimizer1D::Minimize ( int maxIter, double absTol, double relTol )
virtual

Find minimum position iterating until convergence specified by the absolute and relative tolerance or the maximum number of iteration is reached Return true is result is successfull @param maxIter maximum number of iteration @param absTol desired absolute error in the minimum position @param absTol desired relative error in the minimum position.

Implements ROOT::Math::IMinimizer1D.

Definition at line 176 of file GSLMinimizer1D.cxx.

## ◆ Name()

 const char * ROOT::Math::GSLMinimizer1D::Name ( ) const
virtual

Return name of minimization algorithm.

Implements ROOT::Math::IMinimizer1D.

Definition at line 171 of file GSLMinimizer1D.cxx.

## ◆ operator=()

 GSLMinimizer1D & ROOT::Math::GSLMinimizer1D::operator= ( const GSLMinimizer1D & rhs )
private

Definition at line 91 of file GSLMinimizer1D.cxx.

## ◆ SetFunction() [1/2]

template<class UserFunc >
 void ROOT::Math::GSLMinimizer1D::SetFunction ( const UserFunc & f, double xmin, double xlow, double xup )
inline

Set, or reset, minimizer to use the function f and the initial search interval [xlow, xup], with a guess for the location of the minimum xmin.

The condition : $$f(xlow) > f(xmin) < f(xup)$$ must be satisfied

Definition at line 109 of file GSLMinimizer1D.h.

## ◆ SetFunction() [2/2]

 void ROOT::Math::GSLMinimizer1D::SetFunction ( GSLFuncPointer f, void * params, double xmin, double xlow, double xup )

Set, or reset, minimizer to use the function f and the initial search interval [xlow, xup], with a guess for the location of the minimum xmin.

The condition : $$f(xlow) > f(xmin) < f(xup)$$ must be satisfied

Method specialized on the GSL function type

Definition at line 98 of file GSLMinimizer1D.cxx.

## ◆ Status()

 int ROOT::Math::GSLMinimizer1D::Status ( ) const
inlinevirtual

Return status of last minimization.

Implements ROOT::Math::IMinimizer1D.

Definition at line 181 of file GSLMinimizer1D.h.

## ◆ TestInterval()

 int ROOT::Math::GSLMinimizer1D::TestInterval ( double xlow, double xup, double epsAbs, double epsRel )
static

Test convergence of the interval.

The test returns success if

$|x_{min}-x_{truemin}| < epsAbs + epsRel *x_{truemin}$

Definition at line 214 of file GSLMinimizer1D.cxx.

## ◆ XLower()

 double ROOT::Math::GSLMinimizer1D::XLower ( ) const
virtual

Return current lower bound of the minimization interval.

Implements ROOT::Math::IMinimizer1D.

Definition at line 146 of file GSLMinimizer1D.cxx.

## ◆ XMinimum()

 double ROOT::Math::GSLMinimizer1D::XMinimum ( ) const
virtual

Return current estimate of the position of the minimum.

Implements ROOT::Math::IMinimizer1D.

Definition at line 141 of file GSLMinimizer1D.cxx.

## ◆ XUpper()

 double ROOT::Math::GSLMinimizer1D::XUpper ( ) const
virtual

Return current upper bound of the minimization interval.

Implements ROOT::Math::IMinimizer1D.

Definition at line 151 of file GSLMinimizer1D.cxx.

## ◆ fFunction

 GSLFunctionWrapper* ROOT::Math::GSLMinimizer1D::fFunction
private

Definition at line 215 of file GSLMinimizer1D.h.

## ◆ fIsSet

 bool ROOT::Math::GSLMinimizer1D::fIsSet
private

Definition at line 211 of file GSLMinimizer1D.h.

## ◆ fIter

 int ROOT::Math::GSLMinimizer1D::fIter
private

Definition at line 209 of file GSLMinimizer1D.h.

## ◆ fLow

 double ROOT::Math::GSLMinimizer1D::fLow
private

Definition at line 207 of file GSLMinimizer1D.h.

## ◆ fMin

 double ROOT::Math::GSLMinimizer1D::fMin
private

Definition at line 206 of file GSLMinimizer1D.h.

## ◆ fMinimizer

 GSL1DMinimizerWrapper* ROOT::Math::GSLMinimizer1D::fMinimizer
private

Definition at line 214 of file GSLMinimizer1D.h.

## ◆ fStatus

 int ROOT::Math::GSLMinimizer1D::fStatus
private

Definition at line 210 of file GSLMinimizer1D.h.

## ◆ fUp

 double ROOT::Math::GSLMinimizer1D::fUp
private

Definition at line 208 of file GSLMinimizer1D.h.

## ◆ fXlow

 double ROOT::Math::GSLMinimizer1D::fXlow
private

Definition at line 204 of file GSLMinimizer1D.h.

## ◆ fXmin

 double ROOT::Math::GSLMinimizer1D::fXmin
private

Definition at line 203 of file GSLMinimizer1D.h.

## ◆ fXup

 double ROOT::Math::GSLMinimizer1D::fXup
private

Definition at line 205 of file GSLMinimizer1D.h.

Libraries for ROOT::Math::GSLMinimizer1D:

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