icecube.lilliput.i3minuit module¶
- class icecube.lilliput.i3minuit.IMinuitMinimizer(name='iminuit', Tolerance=0.1, MaxIterations=10000, MinuitPrintLevel=0, MinuitStrategy=2, Algorithm='SIMPLEX', FlatnessCheck=False, WithGradients=False, CheckGradient=False, IgnoreEDM=False, MinuitPrecision=None)¶
Bases:
I3Minimizer
Wrapper for the iminuit minimization algorithm for use with the Gulliver suite.
It is intended to be a drop-in replacement for the ROOT-based minimizers
I3GulliverMinuitFactory
andI3GulliverMinuit2Factory
found in the Gulliver suite. iminuit is a stand alone Python package which contains Minuit2. It is relativly well maintained and unlike the version which comes with ROOT, it does not print anything to stdout when you set the print level to zero.If you do not have iminuit, it can be insalled very easily using the following command:
pip install iminuit
- Parameters:
name (string, optional) – String for the Gulliver module to identify the minimizer
tolerance (float, optional) – Tolerance for finding the minimum
MaxIterations (int, optional) – Maximum number of iterations to perform before giving up
MinuitPrintLevel (int, optional) – Set print level: 0 = quiet, 1 = normal, 2 = paranoid, 3 = really paranoid
MinuitStrategy (int,optional) – 0 = fast, 1 = default, 2 = slow but valid
Algorithm (string,optional) – Currently SIMPLEX, MIGRAD
FlatnessCheck (noop, not implemented) –
WithGradients (bool, optional) – Whether to use analytic gradients
CheckGradients (noop, iminuit does not check the first gradient numerically) –
IgnoreEDM (bool, optional) – Ignore EDM when checking for convergence. If True requires that fmin be both valid and accurate.
See also
Further reading: Wikipedia, iminuit documentation, Minuit CERN page, Minuit paper.
- CheckParameters()¶
- GetName()¶
- Minimize((I3Minimizer)arg1, (I3GulliverBase)arg2, (I3FitParameterInitSpecsSeries)arg3) I3MinimizerResult : ¶
- C++ signature :
I3MinimizerResult Minimize(I3MinimizerBase {lvalue},I3GulliverBase {lvalue},std::__1::vector<I3FitParameterInitSpecs, std::__1::allocator<I3FitParameterInitSpecs>>)
Minimize( (I3Minimizer)arg1, (I3GulliverBase)arg2, (I3FitParameterInitSpecsSeries)arg3) -> None :
- C++ signature :
void Minimize(I3MinimizerWrapper {lvalue},I3GulliverBase {lvalue},std::__1::vector<I3FitParameterInitSpecs, std::__1::allocator<I3FitParameterInitSpecs>>)
- UsesGradient((I3Minimizer)arg1) bool : ¶
- C++ signature :
bool UsesGradient(I3MinimizerBase {lvalue})