Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Minuit2::ExternalInternalGradientCalculator Class Reference

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 FCNBase &fcn, const MnUserTransformation &trafo)
 
FunctionGradient operator() (const MinimumParameters &) const override
 
FunctionGradient operator() (const MinimumParameters &, const FunctionGradient &) const override
 
- Public Member Functions inherited from ROOT::Minuit2::AnalyticalGradientCalculator
 AnalyticalGradientCalculator (const FCNBase &fcn, const MnUserTransformation &state)
 
virtual bool CanComputeG2 () const
 
virtual bool CanComputeHessian () 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

- Static Public Member Functions inherited from ROOT::Minuit2::GradientCalculator
static bool SetParallelOMP (bool doParallel=true)
 Enable parallelization of gradient calculation using OpenMP.
 
- Protected Attributes inherited from ROOT::Minuit2::AnalyticalGradientCalculator
const FCNBasefGradFunc
 
const MnUserTransformationfTransformation
 
- Static Protected Attributes inherited from ROOT::Minuit2::GradientCalculator
static bool fDoParallelOMP = false
 flag to indicate if parallel OpenMP processing is used
 

#include <Minuit2/ExternalInternalGradientCalculator.h>

Inheritance diagram for ROOT::Minuit2::ExternalInternalGradientCalculator:
[legend]

Constructor & Destructor Documentation

◆ ExternalInternalGradientCalculator()

ROOT::Minuit2::ExternalInternalGradientCalculator::ExternalInternalGradientCalculator ( const FCNBase & fcn,
const MnUserTransformation & trafo )
inline

Definition at line 33 of file ExternalInternalGradientCalculator.h.

Member Function Documentation

◆ operator()() [1/2]

FunctionGradient ROOT::Minuit2::ExternalInternalGradientCalculator::operator() ( const MinimumParameters & par) const
overridevirtual

◆ operator()() [2/2]

FunctionGradient ROOT::Minuit2::ExternalInternalGradientCalculator::operator() ( const MinimumParameters & par,
const FunctionGradient & functionGradient ) const
overridevirtual
Libraries for ROOT::Minuit2::ExternalInternalGradientCalculator:

The documentation for this class was generated from the following files: