| 
    Jpp
    17.1.1
    
   the software that should make you happy 
   | 
 
Fit method based on the Levenberg-Marquardt method. More...
#include <JGandalf.hh>
  
 Classes | |
| struct | result_type | 
| Data structure for return value of fit function.  More... | |
Public Types | |
| typedef JModel_t::parameter_type | parameter_type | 
| Data type of fit parameter.  More... | |
Public Member Functions | |
| JGandalf () | |
| Default constructor.  More... | |
| template<class JFunction_t , class T , class... Args> | |
| result_type | operator() (const JFunction_t &fit, T __begin, T __end, Args...args) | 
| Multi-dimensional fit of multiple data sets.  More... | |
Public Attributes | |
| std::vector< parameter_type > | parameters | 
| fit parameters  More... | |
| int | numberOfIterations | 
| number of iterations  More... | |
| double | lambda | 
| control parameter  More... | |
| JModel_t | value | 
| value  More... | |
| JModel_t | error | 
| error  More... | |
| JMATH::JMatrixNS | V | 
| Hesse matrix.  More... | |
| result_type | result | 
Static Public Attributes | |
| static int | MAXIMUM_ITERATIONS = 1000 | 
| maximal number of iterations  More... | |
| static double | EPSILON = 1.0e-3 | 
| maximal distance to minimum  More... | |
| static double | LAMBDA_MIN = 0.01 | 
| minimal value control parameter  More... | |
| static double | LAMBDA_MAX = 100.0 | 
| maximal value control parameter  More... | |
| static double | LAMBDA_UP = 9.0 | 
| multiplication factor control parameter  More... | |
| static double | LAMBDA_DOWN = 11.0 | 
| multiplication factor control parameter  More... | |
| static double | PIVOT = 1.0e-3 | 
| minimal value diagonal element of Hesse matrix  More... | |
| static int | debug = 0 | 
| debug level (default is off).  More... | |
Private Member Functions | |
| void | reset () | 
| Reset current parameters.  More... | |
| template<class JFunction_t , class T , class... Args> | |
| void | update (const JFunction_t &fit, T __begin, T __end, Args...args) | 
| Recursive method to update current parameters.  More... | |
| template<class JFunction_t > | |
| void | update (const JFunction_t &fit) | 
| Termination method to update current parameters.  More... | |
Static Private Member Functions | |
| static double | get (const JModel_t &model, double JModel_t::*parameter) | 
| Read/write access to parameter value by data member.  More... | |
| static double & | get (JModel_t &model, double JModel_t::*parameter) | 
| Read/write access to parameter value by data member.  More... | |
| static double | get (const JModel_t &model, const size_t index) | 
| Read/write access to parameter value by index.  More... | |
| static double & | get (JModel_t &model, const size_t index) | 
| Read/write access to parameter value by index.  More... | |
| static double | get (const JModel_t &model, const int index) | 
| Read/write access to parameter value by index.  More... | |
| static double & | get (JModel_t &model, const int index) | 
| Read/write access to parameter value by index.  More... | |
Private Attributes | |
| std::vector< double > | h | 
| struct { | |
| result_type result | |
| JMATH::JMatrixNS V | |
| } | current | 
| struct { | |
| JModel_t value | |
| JModel_t error | |
| result_type result | |
| JMATH::JMatrixNS V | |
| } | previous | 
Fit method based on the Levenberg-Marquardt method.
The template argument refers to the model that should be fitted to the data.
This data structure should have arithmetic capabilities.
The data member JGandalf::value corresponds to the start c.q. final value of the model of the fit procedure and JGandalf::error to the uncertainties.
The co-variance matrix is stored in data member JGandalf::V.
 The data member JGandalf::parameters constitutes a list of those parameters of the model that should actually be fitted.
For this, the model should contain the type definition for parameter_type.
Normally, this type definition corresponds to a pointer to a data member of the model.
Alternatively, the type definition can be size_t or int.
In that case, the model class should provide for the element access operator[].
 The first template parameter in the function operator should provide for an implementation of the actual fit function.
This function should return the data type JGandalf::result_type.
This data type comprises the values of the chi2 and the gradient for a given data point.
The function operator returns the minimal chi2 and combined gradient of the data points. 
Definition at line 52 of file JGandalf.hh.
| typedef JModel_t::parameter_type JFIT::JGandalf< JModel_t >::parameter_type | 
Data type of fit parameter.
Definition at line 63 of file JGandalf.hh.
      
  | 
  inline | 
      
  | 
  inline | 
Multi-dimensional fit of multiple data sets.
The fit function should return the chi2 as well as the partial derivatives for the current value of the model and a given data point.
| fit | fit function | 
| __begin | begin of data | 
| __end | end of data | 
| args | optional data | 
Definition at line 128 of file JGandalf.hh.
      
  | 
  inlineprivate | 
Reset current parameters.
Definition at line 299 of file JGandalf.hh.
      
  | 
  inlineprivate | 
Recursive method to update current parameters.
| fit | fit function | 
| __begin | begin of data | 
| __end | end of data | 
| args | optional data | 
Definition at line 319 of file JGandalf.hh.
      
  | 
  inlineprivate | 
Termination method to update current parameters.
| fit | fit function | 
Definition at line 345 of file JGandalf.hh.
      
  | 
  inlinestaticprivate | 
Read/write access to parameter value by data member.
| model | model | 
| parameter | parameter | 
Definition at line 362 of file JGandalf.hh.
      
  | 
  inlinestaticprivate | 
Read/write access to parameter value by data member.
| model | model | 
| parameter | parameter | 
Definition at line 375 of file JGandalf.hh.
      
  | 
  inlinestaticprivate | 
Read/write access to parameter value by index.
| model | model | 
| index | index | 
Definition at line 388 of file JGandalf.hh.
      
  | 
  inlinestaticprivate | 
Read/write access to parameter value by index.
| model | model | 
| index | index | 
Definition at line 401 of file JGandalf.hh.
      
  | 
  inlinestaticprivate | 
Read/write access to parameter value by index.
| model | model | 
| index | index | 
Definition at line 414 of file JGandalf.hh.
      
  | 
  inlinestaticprivate | 
Read/write access to parameter value by index.
| model | model | 
| index | index | 
Definition at line 427 of file JGandalf.hh.
      
  | 
  static | 
maximal number of iterations
maximal number of iterations.
Definition at line 280 of file JGandalf.hh.
      
  | 
  static | 
maximal distance to minimum
maximal distance to minimum.
Definition at line 281 of file JGandalf.hh.
      
  | 
  static | 
minimal value control parameter
Definition at line 282 of file JGandalf.hh.
      
  | 
  static | 
maximal value control parameter
Definition at line 283 of file JGandalf.hh.
      
  | 
  static | 
multiplication factor control parameter
Definition at line 284 of file JGandalf.hh.
      
  | 
  static | 
multiplication factor control parameter
Definition at line 285 of file JGandalf.hh.
      
  | 
  static | 
minimal value diagonal element of Hesse matrix
minimal value diagonal element of matrix
Definition at line 286 of file JGandalf.hh.
| std::vector<parameter_type> JFIT::JGandalf< JModel_t >::parameters | 
fit parameters
Definition at line 288 of file JGandalf.hh.
| int JFIT::JGandalf< JModel_t >::numberOfIterations | 
number of iterations
Definition at line 289 of file JGandalf.hh.
| double JFIT::JGandalf< JModel_t >::lambda | 
control parameter
Definition at line 290 of file JGandalf.hh.
| JModel_t JFIT::JGandalf< JModel_t >::value | 
value
Definition at line 291 of file JGandalf.hh.
| JModel_t JFIT::JGandalf< JModel_t >::error | 
error
Definition at line 292 of file JGandalf.hh.
| JMATH::JMatrixNS JFIT::JGandalf< JModel_t >::V | 
Hesse matrix.
Definition at line 293 of file JGandalf.hh.
      
  | 
  private | 
Definition at line 432 of file JGandalf.hh.
| result_type JFIT::JGandalf< JModel_t >::result | 
Definition at line 435 of file JGandalf.hh.
| struct { ... } JFIT::JGandalf< JModel_t >::current | 
| struct { ... } JFIT::JGandalf< JModel_t >::previous | 
      
  | 
  staticinherited | 
debug level (default is off).
Definition at line 45 of file JMessage.hh.
 1.8.5