LSResidualFunc class description.
Internal class used for accessing the residuals of the Least Square function and their derivatives which are estimated numerically using GSL numerical derivation. The class contains a pointer to the fit method function and an index specifying the i-th residual and wraps it in a multi-dim gradient function interface ROOT::Math::IGradientFunctionMultiDim. The class is used by ROOT::Math::GSLNLSMinimizer (GSL non linear least square fitter)
Definition at line 135 of file GSLNLSMinimizer.cxx.
Public Member Functions | |
LSResidualFunc () | |
LSResidualFunc (const Func &func, unsigned int i) | |
LSResidualFunc (const LSResidualFunc< Func > &rhs) | |
IMultiGenFunction * | Clone () const override |
Clone a function. | |
void | FdF (const double *x, double &f, double *g) const override |
void | Gradient (const double *x, double *g) const override |
unsigned int | NDim () const override |
Retrieve the dimension of the function. | |
LSResidualFunc< Func > & | operator= (const LSResidualFunc< Func > &rhs) |
![]() | |
T | Derivative (const T *x, unsigned int icoord, T *previous_grad, T *previous_g2, T *previous_gstep) const |
In some cases, the derivative algorithm will use information from the previous step, these can be passed in with this overload. | |
T | Derivative (const T *x, unsigned int icoord=0) const |
Return the partial derivative with respect to the passed coordinate. | |
virtual void | FdF (const T *x, T &f, T *df) const |
Optimized method to evaluate at the same time the function value and derivative at a point x. | |
virtual void | Gradient (const T *x, T *grad) const |
Evaluate all the vector of function derivatives (gradient) at a point x. | |
virtual void | GradientWithPrevResult (const T *x, T *grad, T *previous_grad, T *previous_g2, T *previous_gstep) const |
In some cases, the gradient algorithm will use information from the previous step, these can be passed in with this overload. | |
bool | HasGradient () const |
virtual bool | returnsInMinuit2ParameterSpace () const |
![]() | |
virtual | ~IBaseFunctionMultiDimTempl ()=default |
T | operator() (const T *x) const |
Evaluate the function at a point x[]. | |
Private Member Functions | |
double | DoDerivative (const double *, unsigned int) const override |
double | DoEval (const double *x) const override |
Private Attributes | |
const Func * | fChi2 |
unsigned int | fIndex |
Additional Inherited Members | |
![]() | |
typedef IBaseFunctionMultiDimTempl< T > | BaseFunc |
typedef IGradientFunctionMultiDimTempl< T > | BaseGrad |
![]() | |
typedef T | BackendType |
typedef IBaseFunctionMultiDimTempl< T > | BaseFunc |
|
inline |
Definition at line 139 of file GSLNLSMinimizer.cxx.
|
inline |
Definition at line 143 of file GSLNLSMinimizer.cxx.
|
inline |
Definition at line 150 of file GSLNLSMinimizer.cxx.
|
inlineoverridevirtual |
Clone a function.
Each derived class must implement their version of the Clone method.
Implements ROOT::Math::IBaseFunctionMultiDimTempl< T >.
Definition at line 165 of file GSLNLSMinimizer.cxx.
|
inlineoverrideprivate |
Definition at line 193 of file GSLNLSMinimizer.cxx.
|
inlineoverrideprivate |
Definition at line 189 of file GSLNLSMinimizer.cxx.
|
inlineoverride |
Definition at line 176 of file GSLNLSMinimizer.cxx.
|
inlineoverride |
Definition at line 171 of file GSLNLSMinimizer.cxx.
|
inlineoverridevirtual |
Retrieve the dimension of the function.
Reimplemented from ROOT::Math::IGradientFunctionMultiDimTempl< T >.
Definition at line 169 of file GSLNLSMinimizer.cxx.
|
inline |
Definition at line 158 of file GSLNLSMinimizer.cxx.
|
private |
Definition at line 200 of file GSLNLSMinimizer.cxx.
|
private |
Definition at line 199 of file GSLNLSMinimizer.cxx.