iminuit

Jupyter-friendly Python interface for C++ MINUIT2

OTHER License

Downloads
90.5K
Stars
271
Committers
30

Bot releases are visible (Hide)

iminuit - v1.4.4

Published by HDembinski over 4 years ago

  • Reverted: create MnHesse C++ instance on the stack instead on the heap
  • Added least-squares cost function and tests
iminuit - v1.4.4 beta

Published by HDembinski over 4 years ago

iminuit - Test automatic upload

Published by HDembinski over 4 years ago

iminuit - Test automatic upload

Published by HDembinski over 4 years ago

iminuit - v1.4.3

Published by HDembinski over 4 years ago

Bug-fixes

  • Fixed a bug where running .hesse() after .migrad() would ignore any changes to parameters (fixing/releasing them, changing their values, ...)
  • Fix number formatting issues in recently updated quantities display
  • Removed engineering suffixes again in favour of standard exponential notation

Deprecated

  • keyword forced_parameters in Minuit.__init__ is deprecated, use name

Features

  • Added general purpose cost functions for binned and unbinned maximum-likelihood estimation (normal and so called extended)

Documentation

  • Updated error computation tutorial
  • New tutorial which demonstrates usage of cost functions
iminuit - v1.4.2

Published by HDembinski over 4 years ago

Hot-fix release to correct an error in Minuit.merrors indexing.

iminuit - v1.4.1

Published by HDembinski over 4 years ago

Mostly a bug-fix release, but also deprecates more old interface.

Bug-fixes

  • Fixed a bug when displaying nans in rich displays

Deprecated

  • Minuit.minoserror_struct: use Minuit.merrors, which is now an alias for the former
  • Minuit.merrors now accepts indices and parameter names, like Minuit.values, etc.

Features

  • Show engineering suffixes (1.23k, 123.4M, 0.8G, ...) in rich diplays instead of "scientific format", e.g. 1.23e-3
  • New initial step heuristic, replaces pedantic warning about missing step sizes
  • New initial value heuristic for parameters with limits

Documentation

  • New tutorial about using Numba to parallelize and jit-compile cost functions
iminuit - v1.4.0

Published by HDembinski over 4 years ago

This release drops Python 2 support and modernizes the interface of iminuit's Minuit object to make it more pythonic. Outdated methods were deprecated and replaced with properties. Keywords in methods were made more consistent. The deprecated interface has been removed from the documentation, but is still there. Old code should still work (if not please file a bug report!).

Bug-fixes

  • Fixed an exception in the rich display when results were NaN
  • Minuit.migrad_ok() (now replaced by Minuit.accurate) now returns false if HESSE failed after MIGRAD and made the minimum invalid
  • Running Minuit.hesse() now properly updates the function minimum
  • Fixed incorrect hess_inv returned by iminuit.minimize
  • Fixed duplicated printing of pedantic warning messages

Deprecated

  • Minuit.list_of_fixed_params(), Minuit.list_of_vary_params(): use Minuit.fixed
  • Minuit.migrad_ok(): use Minuit.valid
  • Minuit.matrix_accurate(): use Minuit.accurate
  • Minuit.get_fmin(): use Minuit.fmin
  • Minuit.get_param_states(): use Minuit.params
  • Minuit.get_initial_param_states(): use Minuit.init_params
  • Minuit.get_num_call_fcn(): use Minuit.ncalls_total
  • Minuit.get_num_call_grad(): use Minuit.ngrads_total
  • Minuit.print_param_states(): use print() on Minuit.params
  • Minuit.print_initial_param_states(): use print() on Minuit.init_params
  • Minuit.hesse(maxcall=...) keyword: use ncall=... like in Minuit.migrad()
  • Minuit.edm: use Minuit.fmin.edm

New features

  • iminuit now uses the PDG formatting rule for quantities with errors
  • slicing and basic broadcasting support for Minuit.values, Minuit.errors, Minuit.fixed, e.g. the following works: m.fixed[:] = True, m.values[:2] = [1, 2]
  • Minuit.migrad(ncall=0) (the default) now uses MINUITs internal heuristic instead of a flat limit of 10000 calls
  • iminuit.minimize now supports the tol parameter
  • Minuit now supports print_level=3, which shows debug level information when MIGRAD runs
  • Binder support and Binder badge for tutorial notebooks added by @matthewfeickert

Documentation

  • New tutorials on error computation and on using automatic differentiation
iminuit - v1.3.10

Published by HDembinski over 4 years ago

Bug-fixes:

  • sdist package was broken, this was fixed by @henryiii

Implementation:

  • Allow HESSE to be called without running MIGRAD first

Documentation:

  • Added tutorial to show how iminuit can compute parameter errors for other minimizers

Other:

  • @henryiii added a CI test to check the sdist package and the MANIFEST
iminuit - v1.3.9

Published by HDembinski over 4 years ago

Bug-fixes:

  • draw_contour now accepts an integer for bound keyword as advertised in the docs
  • fixed wrong EDM goal in iminuit reports, was off by factor 5 in some

Interface:

  • removed the undocumented keyword "args" in (draw_)contour, (draw_)profile
  • removed misleading "show_sigma" keyword in draw_contour
  • deprecated Minuit.is_fixed, replaced by .fixed attribute
  • deprecated Minuit.set_strategy, assign to Minuit.strategy instead
  • deprecated Minuit.set_errordef, assign to Minuit.errordef instead
  • deprecated Minuit.set_print_level, assign to Minuit.print_level instead
  • deprecated Minuit.print_fmin, Minuit.print_matrix, Minuit.print_param, Minuit.print_initial_param, Minuit.print_all_minos; use print() on the respective objects instead

Implementation:

  • improved style of draw_contour, draw more contour lines
  • increased default resolution for curves produced by (draw_)mncontour, (draw_)contour
  • switched from internal copy of Minuit2 to including Minuit2 repository from GooFit
  • build improvements for windows/msvc
  • updated Minuit2 code to ROOT-v6.15/01 (compiler with C++11 support is now required to build iminuit)
  • @henryiii added support for building Python-3.8 wheels
iminuit - v1.3.8

Published by HDembinski about 5 years ago

Bug-fix release.

  • Fix plotting when array_func is used (#361)
  • Sort input file list to make _libiminuit.so build reproducably (#355)
  • Fixed outdated links in the docs
iminuit - v1.3.7

Published by HDembinski over 5 years ago

  • fixed wheels support
  • documentation updates
iminuit - v1.3.6

Published by HDembinski over 5 years ago

  • fix for broken display of Jupyter notebooks on Github when iminuit output is shown
  • replaced brittle and broken REPL diplay system with standard _repr_html_ and friends
  • wheels support
  • support for pypy-3.6
  • documentation improvements
iminuit - v1.3.5 (do not use)

Published by HDembinski over 5 years ago

This release introduced unintended backward incompatibilities. These will be fixed soon, but for now please use v1.3.3.

iminuit - v1.3.4 (do not use)

Published by HDembinski over 5 years ago

An accidentally incomplete release, do not use.

iminuit - v1.3.3

Published by HDembinski about 6 years ago

Several usability and performance fixes. See changelog for details.

iminuit - v1.3.2

Published by HDembinski about 6 years ago

Bug-fix release with minor features, see the changelog for details.

iminuit - v1.3

Published by HDembinski over 6 years ago

This release contains many bug-fixes and new features. See doc/changelog.rst for details.