Skip to content

Releases: scikit-hep/iminuit

Test automatic upload

25 Jun 10:19
Compare
Choose a tag to compare
Test automatic upload Pre-release
Pre-release
v1.4.3-test1

simpler

Test automatic upload

25 Jun 10:12
Compare
Choose a tag to compare
Test automatic upload Pre-release
Pre-release
v1.4.3-test0

fix

v1.4.3

24 Jun 22:42
Compare
Choose a tag to compare

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

v1.4.2

14 Jun 12:28
e1d6f5a
Compare
Choose a tag to compare

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

v1.4.1

13 Jun 22:18
Compare
Choose a tag to compare

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

v1.4.0

12 Jun 22:20
6bec64e
Compare
Choose a tag to compare

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

v1.3.10

31 Mar 20:54
Compare
Choose a tag to compare

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

v1.3.9

31 Mar 16:25
e76d408
Compare
Choose a tag to compare

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

v1.3.8

17 Oct 10:29
15c7e67
Compare
Choose a tag to compare

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

v1.3.7

12 Jun 13:48
Compare
Choose a tag to compare
  • fixed wheels support
  • documentation updates