Fumili gradient calculator using external gradient provided by FCN Note that the computed Hessian and G2 are an approximation valid for small residuals.
Definition at line 25 of file FumiliGradientCalculator.h.
Public Member Functions | |
| FumiliGradientCalculator (const FumiliFCNBase &fcn, const MnUserTransformation &trafo, int n) | |
| bool | CanComputeG2 () const override |
| bool | CanComputeHessian () const override |
| bool | G2 (const MinimumParameters &, MnAlgebraicVector &) const override |
| compute second derivatives (diagonal of Hessian) | |
| const MnAlgebraicSymMatrix & | GetHessian () const |
| bool | Hessian (const MinimumParameters &, MnAlgebraicSymMatrix &) const override |
| compute Hessian matrix | |
| FunctionGradient | operator() (const MinimumParameters &) const override |
| FunctionGradient | operator() (const MinimumParameters &, const FunctionGradient &) const override |
| const MnUserTransformation & | Trafo () const |
Static Public Member Functions | |
| static bool | SetParallelOMP (bool doParallel=true) |
| Enable parallelization of gradient calculation using OpenMP. | |
Protected Attributes | |
| const FCNBase & | fGradFunc |
| const MnUserTransformation & | fTransformation |
Static Protected Attributes | |
| static bool | fDoParallelOMP = false |
| flag to indicate if parallel OpenMP processing is used | |
Private Attributes | |
| const FumiliFCNBase & | fFcn |
| MnAlgebraicSymMatrix | fHessian |
#include <Minuit2/FumiliGradientCalculator.h>
| ROOT::Minuit2::FumiliGradientCalculator::FumiliGradientCalculator | ( | const FumiliFCNBase & | fcn, |
| const MnUserTransformation & | trafo, | ||
| int | n ) |
Definition at line 26 of file FumiliGradientCalculator.cxx.
|
inlineoverridevirtual |
Reimplemented from ROOT::Minuit2::AnalyticalGradientCalculator.
Definition at line 42 of file FumiliGradientCalculator.h.
|
inlineoverridevirtual |
Reimplemented from ROOT::Minuit2::AnalyticalGradientCalculator.
Definition at line 44 of file FumiliGradientCalculator.h.
|
overridevirtual |
compute second derivatives (diagonal of Hessian)
Reimplemented from ROOT::Minuit2::AnalyticalGradientCalculator.
Definition at line 103 of file FumiliGradientCalculator.cxx.
|
inline |
Definition at line 36 of file FumiliGradientCalculator.h.
|
overridevirtual |
compute Hessian matrix
Reimplemented from ROOT::Minuit2::AnalyticalGradientCalculator.
Definition at line 116 of file FumiliGradientCalculator.cxx.
|
overridevirtual |
Reimplemented from ROOT::Minuit2::AnalyticalGradientCalculator.
Definition at line 34 of file FumiliGradientCalculator.cxx.
|
overridevirtual |
Reimplemented from ROOT::Minuit2::AnalyticalGradientCalculator.
Definition at line 97 of file FumiliGradientCalculator.cxx.
Enable parallelization of gradient calculation using OpenMP.
This is different from the default parallel mechanism elsewhere (IMT, threads, TBB, ...). It can only be used to minimise thread-safe functions in Minuit2.
| doParallel | true to enable, false to disable. |
Definition at line 21 of file GradientCalculator.cxx.
|
inline |
Definition at line 34 of file FumiliGradientCalculator.h.
|
inlinestaticprotectedinherited |
flag to indicate if parallel OpenMP processing is used
Definition at line 41 of file GradientCalculator.h.
|
private |
Definition at line 48 of file FumiliGradientCalculator.h.
|
protectedinherited |
Definition at line 47 of file AnalyticalGradientCalculator.h.
|
mutableprivate |
Definition at line 49 of file FumiliGradientCalculator.h.
|
protectedinherited |
Definition at line 48 of file AnalyticalGradientCalculator.h.