7

我一直在寻找 Python 2.7 上的 miniuit 等价物,我发现了这两个变体:
PyMinuit
iMinuit

我的问题是:它们之间有什么区别?

两者都使用 Seal 1.7.9 Minuit 和一些 2D 高斯拟合测试,我都带来了相同的答案。那么,除了安装方法(iMinuit 更简单),我为什么要选择另一种呢?


谢谢你的帮助!xD

PS 我也尝试标记 iminuit 但我无法创建新标签... =/

4

1 回答 1

10

免责声明:我写了 iminuit。让我给你一点历史。

我是 PyMinuit 的骄傲用户。我喜欢它,他想出的语法非常棒。然而,我最终发现我无法真正以编程方式(并且有效地)构建成本函数。例如,如果你想制作一个通用的 chi^2 函子,它以 n 参数的数据和 pdf 作为参数并吐出 n-1 参数的 chi^2 函数,那么(几乎)不可能做到PyMinuit。

因此,我尝试修改 PyMinuit 以添加确切的功能并修改一些打印输出。我发现 PyMinuit 代码在 C 中,修改起来很麻烦。所以,我用 cython 重写了它。

您会在 iminuit 中找到一对加法:

  1. 与 IPython 笔记本更好地集成。它将结果打印在一张漂亮的表格中,并可以免费为您绘制一些图表。
  2. 函数签名提取比 PyMinuit 宽容得多
  3. 长参数名称。不是真正的 PyMinuit 错误,但在 Minuit 1.7.x 中有一个错误,即名称长度是硬编码的。
  4. 一方面限制我不确定,但我认为 PyMinuit 不会这样做
  5. 进度打印输出有点不同,但这是一个品味问题。我所拥有的灵感来自 ROOT,IMO 更有意义。
  6. 利润整合。还记得我提到过获取数据和 pdf 并吐出 chi^2 函数以进行最小化的函数吗?见教程
于 2013-11-20T05:43:13.840 回答