Similar to the AnalyticalGradientCalculator, the ExternalInternalGradientCalculator supplies Minuit with an externally calculated gradient.
The main difference is that ExternalInternalGradientCalculator expects that the external gradient calculator does things in Minuit2-internal parameter space, which means many int2ext and ext2int transformation steps are not necessary. This avoids loss of precision in some cases, where trigonometrically transforming parameters back and forth can lose a few bits of floating point precision on every pass.
Definition at line 30 of file ExternalInternalGradientCalculator.h.
Public Member Functions | |
ExternalInternalGradientCalculator (const FCNGradientBase &fcn, const MnUserTransformation &trafo) | |
~ExternalInternalGradientCalculator () override | |
FunctionGradient | operator() (const MinimumParameters &) const override |
FunctionGradient | operator() (const MinimumParameters &, const FunctionGradient &) const override |
Public Member Functions inherited from ROOT::Minuit2::AnalyticalGradientCalculator | |
AnalyticalGradientCalculator (const FCNGradientBase &fcn, const MnUserTransformation &state) | |
~AnalyticalGradientCalculator () override | |
virtual bool | CanComputeG2 () const |
virtual bool | CanComputeHessian () const |
virtual bool | CheckGradient () const |
bool | G2 (const MinimumParameters &, MnAlgebraicVector &) const override |
compute second derivatives (diagonal of Hessian) | |
bool | Hessian (const MinimumParameters &, MnAlgebraicSymMatrix &) const override |
compute Hessian matrix | |
Public Member Functions inherited from ROOT::Minuit2::GradientCalculator | |
virtual | ~GradientCalculator () |
Additional Inherited Members | |
Protected Attributes inherited from ROOT::Minuit2::AnalyticalGradientCalculator | |
const FCNGradientBase & | fGradFunc |
const MnUserTransformation & | fTransformation |
#include <Minuit2/ExternalInternalGradientCalculator.h>
|
inline |
Definition at line 33 of file ExternalInternalGradientCalculator.h.
|
inlineoverride |
Definition at line 38 of file ExternalInternalGradientCalculator.h.
|
overridevirtual |
Reimplemented from ROOT::Minuit2::AnalyticalGradientCalculator.
Definition at line 21 of file ExternalInternalGradientCalculator.cxx.
|
overridevirtual |
Reimplemented from ROOT::Minuit2::AnalyticalGradientCalculator.
Definition at line 45 of file ExternalInternalGradientCalculator.cxx.