Skip to main content

Jupyter-friendly Python frontend for MINUIT2 in C++

Project description

https://scikit-hep.org/assets/images/Scikit--HEP-Project-blue.svg https://img.shields.io/pypi/v/iminuit.svg https://img.shields.io/conda/vn/conda-forge/iminuit.svg https://coveralls.io/repos/github/scikit-hep/iminuit/badge.svg?branch=develop https://readthedocs.org/projects/iminuit/badge/?version=stable License https://zenodo.org/badge/DOI/10.5281/zenodo.3949207.svg

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

Minuit was designed to minimise statistical cost functions, for likelihood and least-squares fits of parametric models to data. It provides the best-fit parameters and error estimates from likelihood profile analysis.

  • Supported CPython versions: 3.6+

  • Supported PyPy versions: 3.6

  • Supported platforms: Linux, OSX and Windows.

The iminuit package comes with additional features:

  • Included cost functions for binned and unbinned maximum-likelihood and (robust) least-squares fits

  • Support for SciPy minimisers

  • Numba support (optional)

Checkout the comprehensive list of tutorials that demonstrate these features.

https://mybinder.org/badge_logo.svg Gitter

In a nutshell

from iminuit import Minuit

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

fcn.errordef = Minuit.LEAST_SQUARES

m = Minuit(cost_function, 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 changes with respect to the 1.x series.

All interface changes are documented in the changelog with recommendations how to upgrade. To keep existing scripts running, pin your major iminuit version to <2, i.e. pip install 'iminuit<2' installs the 1.x series.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iminuit-2.8.2.tar.gz (389.8 kB view hashes)

Uploaded Source

Built Distributions

iminuit-2.8.2-cp39-cp39-win_amd64.whl (303.4 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

iminuit-2.8.2-cp39-cp39-win32.whl (265.1 kB view hashes)

Uploaded CPython 3.9 Windows x86

iminuit-2.8.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (322.0 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

iminuit-2.8.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (327.3 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

iminuit-2.8.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl (340.1 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

iminuit-2.8.2-cp39-cp39-macosx_10_9_x86_64.whl (343.1 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

iminuit-2.8.2-cp39-cp39-macosx_10_9_universal2.whl (609.0 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

iminuit-2.8.2-cp38-cp38-win_amd64.whl (312.9 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

iminuit-2.8.2-cp38-cp38-win32.whl (265.0 kB view hashes)

Uploaded CPython 3.8 Windows x86

iminuit-2.8.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (321.3 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

iminuit-2.8.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (327.2 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

iminuit-2.8.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl (339.9 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

iminuit-2.8.2-cp38-cp38-macosx_10_9_x86_64.whl (343.1 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

iminuit-2.8.2-cp38-cp38-macosx_10_9_universal2.whl (608.9 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

iminuit-2.8.2-cp37-cp37m-win_amd64.whl (312.2 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

iminuit-2.8.2-cp37-cp37m-win32.whl (267.5 kB view hashes)

Uploaded CPython 3.7m Windows x86

iminuit-2.8.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (339.2 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

iminuit-2.8.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (333.1 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

iminuit-2.8.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl (349.6 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

iminuit-2.8.2-cp37-cp37m-macosx_10_9_x86_64.whl (338.3 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

iminuit-2.8.2-cp36-cp36m-win_amd64.whl (312.2 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

iminuit-2.8.2-cp36-cp36m-win32.whl (267.5 kB view hashes)

Uploaded CPython 3.6m Windows x86

iminuit-2.8.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (339.1 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

iminuit-2.8.2-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (333.1 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

iminuit-2.8.2-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.whl (349.6 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

iminuit-2.8.2-cp36-cp36m-macosx_10_9_x86_64.whl (338.2 kB view hashes)

Uploaded CPython 3.6m macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page