Skip to content

Conversation

HDembinski
Copy link
Member

@HDembinski HDembinski commented Jul 29, 2024

Closes #1008

This patch was developed in collaboration with
ikrommyd.

  • Minuit.migrad: When we have to iterate, MnSimplex is now called by
    default in between interations, since this seems to improve convergence
    in pathological cases. The new keyword use_simplex can be used to
    disable this feature. It is only used if the algorithm has to iterate,
    so for well-behaved functions there is no penalty of extra function
    calls. Also, when we have to iterate, the strategy is now automatically
    increased to 2, since this also seems to help.
  • Minuit.mnprofile: Now uses the same iterative robust fitting that
    Minuit.migrad uses. New keywords ncall, iterate, use_simplex allow
    to customize the fits. Strategy 0 is used first, and if that fails, the
    code switches to Strategy 2 in the iterations.
  • Minuit.mncontour: Now uses the same iterative robust fitting that
    Minuit.mnprofile uses if experimental is True. New keywords ncall,
    iterate, use_simplex allow to customize the fits.
  • A new tutorial illustrates the benefits of iterating and strategy on a pathological function. It is also shown that Scipy minimizers perform worse than Minuit when the function is pathological.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pass ncall and iterate in methods that build profile likelihoods

1 participant