Jupyter-friendly Python interface for C++ MINUIT2

iminuit

iminuit is a Jupyter-friendly Python interface for the Minuit2 C++ library maintained by CERN’s ROOT team.

It can be used as a general robust function minimisation method, but is most commonly used for likelihood fits of models to data, and to get model parameter error estimates from likelihood profile analysis.

In a nutshell

from iminuit import Minuit

def fcn(x, y, z):
    return (x - 2) ** 2 + (y - 3) ** 2 + (z - 4) ** 2

fcn.errordef = Minuit.LEAST_SQUARES

m = Minuit(fcn, x=0, y=0, z=0)

m.migrad()  # run optimiser
print(m.values)  # x: 2, y: 3, z: 4

m.hesse()   # run covariance estimator
print(m.errors)  # x: 1, y: 1, z: 1

Versions

The current 2.x series has introduced breaking interfaces

 

 

 

To finish reading, please visit source site