Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
More robust unified fitting in Minuit.migrad and Minuit.mnprofile (#1009
) Closes #1008 This patch was developed in collaboration with [ikrommyd](https://github.com/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.
- Loading branch information