Skip to content
Snippets Groups Projects
  • Lorenzo Moneta's avatar
    7b1c1fc7
    sync with dev brunch (rev: 24397). · 7b1c1fc7
    Lorenzo Moneta authored
    Main changes are: 
    
    - improve integrator interface adding template functions taking as imput any C++ callable object for evaluation 
      of the integrals
    - use ROOT convention for enumeration names (start with k, like kADAPTIVE for the integration type). Change for 
      Integration types, Interpolation types (in MathMore) and Minimizer1D types. Change all classes and tests using this 
      enumeration name  
    - improve RichardsonDerivator class (used by TF1::Derivative). Remove an un-needed function call
      Fix also a bug in calculation of the error returned by TF1::DerivativeError
    - change interface for the function interfaced used for fitting (IParamFunction function and IParamGrad function)
      Requires now that the parameter values are passed when evaluating the function and the gradient and make the method
      operator()(double *x, double *p) const. Derived class must implement DoEvalPar (and not DoEval as before) 
      for implementing this interface. This change makes the caching of parameter not hidden and the interface is now 
      thread-safe.  In the IParamGradFunction interface remove the funcitonality for gradient of the coordinates (x) 
      since it is not needed. Define only the parameter gradient. 
    - improve also the ParamFunction class used by the concrete function like Polynomial. Adapt Polynomial class to new 
      parameteric function interface
    - improve Fit Result class with function to get parameter correlations after the fit and to fill any generic matrix 
    with covariance or correlation result. 
    - add method also in the minimizer interface to get correlation values 
    - add strategy in the minimizer control parameters
    - increase timing of stressMathCore and stressMathMore
    
    
    git-svn-id: http://root.cern.ch/svn/root/trunk@24403 27541ba8-7e3a-0410-8455-c3a389f83636
    7b1c1fc7
    History
    sync with dev brunch (rev: 24397).
    Lorenzo Moneta authored
    Main changes are: 
    
    - improve integrator interface adding template functions taking as imput any C++ callable object for evaluation 
      of the integrals
    - use ROOT convention for enumeration names (start with k, like kADAPTIVE for the integration type). Change for 
      Integration types, Interpolation types (in MathMore) and Minimizer1D types. Change all classes and tests using this 
      enumeration name  
    - improve RichardsonDerivator class (used by TF1::Derivative). Remove an un-needed function call
      Fix also a bug in calculation of the error returned by TF1::DerivativeError
    - change interface for the function interfaced used for fitting (IParamFunction function and IParamGrad function)
      Requires now that the parameter values are passed when evaluating the function and the gradient and make the method
      operator()(double *x, double *p) const. Derived class must implement DoEvalPar (and not DoEval as before) 
      for implementing this interface. This change makes the caching of parameter not hidden and the interface is now 
      thread-safe.  In the IParamGradFunction interface remove the funcitonality for gradient of the coordinates (x) 
      since it is not needed. Define only the parameter gradient. 
    - improve also the ParamFunction class used by the concrete function like Polynomial. Adapt Polynomial class to new 
      parameteric function interface
    - improve Fit Result class with function to get parameter correlations after the fit and to fill any generic matrix 
    with covariance or correlation result. 
    - add method also in the minimizer interface to get correlation values 
    - add strategy in the minimizer control parameters
    - increase timing of stressMathCore and stressMathMore
    
    
    git-svn-id: http://root.cern.ch/svn/root/trunk@24403 27541ba8-7e3a-0410-8455-c3a389f83636