BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
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) | |
virtual | ~GSLMinimizer1D () |
double | FValLower () const |
double | FValMinimum () const |
double | FValUpper () const |
int | Iterate () |
int | Iterations () const |
bool | Minimize (int maxIter, double absTol, double relTol) |
const char * | Name () const |
template<class UserFunc > | |
void | SetFunction (const UserFunc &f, double xmin, double xlow, double xup) |
void | SetFunction (GSLFuncPointer f, void *params, double xmin, double xlow, double xup) |
int | Status () const |
double | XLower () const |
double | XMinimum () const |
double | XUpper () const |
Static Public Member Functions | |
static int | TestInterval (double xlow, double xup, double epsAbs, double epsRel) |
Private Member Functions | |
GSLMinimizer1D (const GSLMinimizer1D &) | |
GSLMinimizer1D & | operator= (const GSLMinimizer1D &) |
Private Attributes | |
GSLFunctionWrapper * | fFunction |
bool | fIsSet |
int | fIter |
double | fLow |
double | fMin |
GSL1DMinimizerWrapper * | fMinimizer |
int | fStatus |
double | fUp |
double | fXlow |
double | fXmin |
double | fXup |
|
explicit |
Construct the minimizer passing the minimizer type using the Minim1D::Algorithm enumeration
|
virtual |
Destructor: free allocated resources
|
private |
|
virtual |
Return function value at current lower bound of the minimization interval
Implements ROOT::Math::IMinimizer1D.
|
virtual |
Return function value at current estimate of the minimum
Implements ROOT::Math::IMinimizer1D.
|
virtual |
Return function value at current upper bound of the minimization interval
Implements ROOT::Math::IMinimizer1D.
int ROOT::Math::GSLMinimizer1D::Iterate | ( | ) |
Perform a minimizer iteration and if an unexepcted problem occurr then an error code will be returned
|
inlinevirtual |
Return number of iteration used to find minimum
Implements ROOT::Math::IMinimizer1D.
Definition at line 174 of file GSLMinimizer1D.h.
References fIter.
|
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.
|
virtual |
Return name of minimization algorithm
Implements ROOT::Math::IMinimizer1D.
|
private |
|
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 : must be satisfied
Definition at line 109 of file GSLMinimizer1D.h.
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 : must be satisfied
Method specialized on the GSL function type
|
inlinevirtual |
Return status of last minimization
Implements ROOT::Math::IMinimizer1D.
Definition at line 181 of file GSLMinimizer1D.h.
References fStatus.
|
static |
Test convergence of the interval. The test returns success if
|
virtual |
Return current lower bound of the minimization interval
Implements ROOT::Math::IMinimizer1D.
|
virtual |
Return current estimate of the position of the minimum
Implements ROOT::Math::IMinimizer1D.
|
virtual |
Return current upper bound of the minimization interval
Implements ROOT::Math::IMinimizer1D.
|
private |
Definition at line 215 of file GSLMinimizer1D.h.
|
private |
Definition at line 211 of file GSLMinimizer1D.h.
|
private |
Definition at line 209 of file GSLMinimizer1D.h.
Referenced by Iterations().
|
private |
Definition at line 207 of file GSLMinimizer1D.h.
|
private |
Definition at line 206 of file GSLMinimizer1D.h.
|
private |
Definition at line 214 of file GSLMinimizer1D.h.
|
private |
Definition at line 210 of file GSLMinimizer1D.h.
Referenced by Status().
|
private |
Definition at line 208 of file GSLMinimizer1D.h.
|
private |
Definition at line 204 of file GSLMinimizer1D.h.
|
private |
Definition at line 203 of file GSLMinimizer1D.h.
|
private |
Definition at line 205 of file GSLMinimizer1D.h.