OverviewΒΆ

The following figure presents an overview over the classes of the optimizer module and their relations.

../../../../_images/uml_opt.png

Optimizer module

The optimizer module provides classes for function optimization. The abstract GOptimizerFunction base class defines the interface for the function that should be optimized. The GOptimizerPar class defines a parameter of the function, and the GOptimizerPars container class collects all function parameters. The optimizer is represented by the abstract GOptimizer base class. So far, the only optimizer algorithm implemented in GammaLib is the Levenberg-Marquardt algorithm, implemented by the class GOptimizerLM.

The model parameter class GModelPar, as a specific implementation of the optimizer parameter class, derives from GOptimizerPar. One implementation of an optimizer function is the GObservations::likelihood class that is used for maximum likelihood fitting within GammaLib.