Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Math::LSResidualFunc< Func > Class Template Reference

template<class Func>
class ROOT::Math::LSResidualFunc< Func >

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)
 
IMultiGenFunctionClone () 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)
 
- Public Member Functions inherited from ROOT::Math::IGradientFunctionMultiDimTempl< T >
virtual ~IGradientFunctionMultiDimTempl ()
 Virtual Destructor (no operations)
 
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.
 
virtual bool returnsInMinuit2ParameterSpace () const
 
- Public Member Functions inherited from ROOT::Math::IBaseFunctionMultiDimTempl< T >
 IBaseFunctionMultiDimTempl ()
 
virtual ~IBaseFunctionMultiDimTempl ()
 virtual destructor
 
operator() (const T *x) const
 Evaluate the function at a point x[].
 
- Public Member Functions inherited from ROOT::Math::IGradientMultiDimTempl< T >
virtual ~IGradientMultiDimTempl ()
 virtual destructor
 
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.
 
Derivative (const T *x, unsigned int icoord=0) const
 Return the partial derivative with respect to the passed coordinate.
 

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

- Public Types inherited from ROOT::Math::IGradientFunctionMultiDimTempl< T >
typedef IBaseFunctionMultiDimTempl< T > BaseFunc
 
typedef IGradientMultiDimTempl< T > BaseGrad
 
- Public Types inherited from ROOT::Math::IBaseFunctionMultiDimTempl< T >
typedef T BackendType
 
typedef IBaseFunctionMultiDimTempl< T > BaseFunc
 
Inheritance diagram for ROOT::Math::LSResidualFunc< Func >:
[legend]

Constructor & Destructor Documentation

◆ LSResidualFunc() [1/3]

template<class Func >
ROOT::Math::LSResidualFunc< Func >::LSResidualFunc ( )
inline

Definition at line 139 of file GSLNLSMinimizer.cxx.

◆ LSResidualFunc() [2/3]

template<class Func >
ROOT::Math::LSResidualFunc< Func >::LSResidualFunc ( const Func &  func,
unsigned int  i 
)
inline

Definition at line 143 of file GSLNLSMinimizer.cxx.

◆ LSResidualFunc() [3/3]

template<class Func >
ROOT::Math::LSResidualFunc< Func >::LSResidualFunc ( const LSResidualFunc< Func > &  rhs)
inline

Definition at line 150 of file GSLNLSMinimizer.cxx.

Member Function Documentation

◆ Clone()

template<class Func >
IMultiGenFunction * ROOT::Math::LSResidualFunc< Func >::Clone ( ) const
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.

◆ DoDerivative()

template<class Func >
double ROOT::Math::LSResidualFunc< Func >::DoDerivative ( const double ,
unsigned int   
) const
inlineoverrideprivate

Definition at line 193 of file GSLNLSMinimizer.cxx.

◆ DoEval()

template<class Func >
double ROOT::Math::LSResidualFunc< Func >::DoEval ( const double x) const
inlineoverrideprivate

Definition at line 189 of file GSLNLSMinimizer.cxx.

◆ FdF()

template<class Func >
void ROOT::Math::LSResidualFunc< Func >::FdF ( const double x,
double f,
double g 
) const
inlineoverride

Definition at line 176 of file GSLNLSMinimizer.cxx.

◆ Gradient()

template<class Func >
void ROOT::Math::LSResidualFunc< Func >::Gradient ( const double x,
double g 
) const
inlineoverride

Definition at line 171 of file GSLNLSMinimizer.cxx.

◆ NDim()

template<class Func >
unsigned int ROOT::Math::LSResidualFunc< Func >::NDim ( ) const
inlineoverridevirtual

Retrieve the dimension of the function.

Reimplemented from ROOT::Math::IGradientFunctionMultiDimTempl< T >.

Definition at line 169 of file GSLNLSMinimizer.cxx.

◆ operator=()

template<class Func >
LSResidualFunc< Func > & ROOT::Math::LSResidualFunc< Func >::operator= ( const LSResidualFunc< Func > &  rhs)
inline

Definition at line 158 of file GSLNLSMinimizer.cxx.

Member Data Documentation

◆ fChi2

template<class Func >
const Func* ROOT::Math::LSResidualFunc< Func >::fChi2
private

Definition at line 200 of file GSLNLSMinimizer.cxx.

◆ fIndex

template<class Func >
unsigned int ROOT::Math::LSResidualFunc< Func >::fIndex
private

Definition at line 199 of file GSLNLSMinimizer.cxx.

  • math/mathmore/src/GSLNLSMinimizer.cxx