Key features and compatibility of iminuit
developiminuit is a fast, interactive, and IPython-friendly minimizer based on the Minuit2 C++ library.
Core Capabilities
- Robust Optimization: Uses Minuit2 for minimization and provides reliable error estimates for parameters.
- NumPy Interoperability: Supports functions that accept parameters as positional arguments or as a single NumPy array. Fit results are NumPy arrays or array-like types.
- Interactive Convenience: Automatically extracts parameter names from your function signatures or docstrings, allowing you to access parameters by name in status printouts and Jupyter notebooks.
- High Performance: Designed to work seamlessly with compiled functions from Cython, Numba, JAX, and TensorFlow.
Migration from PyMinuit
iminuit is mostly compatible with PyMinuit. To port existing PyMinuit code, you can typically just update the import statements.