Feature #41

GModels versus GOptimizerPars

Added by Knödlseder Jürgen over 12 years ago. Updated almost 11 years ago.

Status:ClosedStart date:02/20/2012
Priority:LowDue date:
Assigned To:Knödlseder Jürgen% Done:

100%

Category:-
Target version:00-08-00
Duration:

Description

GModels is actually derived from GOptimizerPars, yet both are container classes for different things. GModels contains models while GOptimizerPars contains parameters.

The relation between GModels and GOptimizerPars should be rethought to see if a more logical and clearer relationship can be defined. This will not change the actual workings, but should make the code more clear.


Recurrence

No recurrence.

History

#1 Updated by Knödlseder Jürgen over 12 years ago

  • Priority changed from Normal to Low

#2 Updated by Knödlseder Jürgen almost 12 years ago

  • Target version set to 00-08-00

#3 Updated by Knödlseder Jürgen almost 11 years ago

  • Target version deleted (00-08-00)

#4 Updated by Knödlseder Jürgen almost 11 years ago

The following GModelPar method are actually used by GOptimizerLM:
  • isfree()
  • fix()
  • name()
  • factor_gradient()
  • factor_value()
  • factor_min()
  • factor_max()
  • hasmin()
  • hasmax()
  • factor_error()

Hence only a small subset of the GModelPar methods are not used.

So I suggest to introduce a GOptimizerPar method from which GModelPar will derive (eventually, GModelPar may disappear later).

GOptimizerPars should then became a real container class of GOptimizerPar objects (the container will hold pointers to these objects).

GModels will not derive from GOptimizerPars but will have a method that returns a GOptimizerPars object containing pointers to the model parameters in GModels. This needs some logic that GOptimizerPars can handle internally allocated parameters, but also externally managed parameters.

#5 Updated by Knödlseder Jürgen almost 11 years ago

  • Target version set to 00-08-00

#6 Updated by Knödlseder Jürgen almost 11 years ago

  • Assigned To set to Knödlseder Jürgen
  • % Done changed from 0 to 50

GModels no longer derives from GOptimizerPars. The implementation of GOptimizerPars as standalone container has started. The GModels::pars() method now extract the model parameters as a flat array into a GOptimizerPars instance.

GOptimizerPars is a container of GOptimizerPar objects. GModelPar now derives from GOptimizerPar.

#7 Updated by Knödlseder Jürgen almost 11 years ago

  • Status changed from New to In Progress
  • % Done changed from 50 to 80

The GOptimizerPars class is not fully complete. Also NEWS / ChangeLog need to be updated.

#8 Updated by Knödlseder Jürgen almost 11 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 80 to 100

Done.

Also available in: Atom PDF