7

私は Python 2.7 で相当する minuit を探していましたが、この 2 つのバリアントを見つけました:
PyMinuit
iMinuit

私の質問は次のとおりです。それらの違いは何ですか?

どちらも Seal 1.7.9 Minuit を使用しており、いくつかの 2D Gaussian フィット テストでは、両方とも同じ答えが得られました。では、インストール方法 (iMinuit の方が簡単) 以外に、どちらかを選択する必要があるのはなぜですか?


ご協力いただきありがとうございます!xD

PS私もiminuitにタグを付けようとしましたが、新しいタグを作成できません... =/

4

1 に答える 1

10

免責事項:私は iminuit を書きました。少し歴史を紹介させてください。

私は PyMinuit の誇り高いユーザーでした。私はそれが大好きで、彼が思いついた構文は素晴らしいです. しかし、最終的には、コスト関数をプログラムで (そして効率的に) 構築することは実際にはできないことがわかりました。たとえば、引数として n パラメーターのデータと pdf を取り、n-1 パラメーターの chi^2 関数を吐き出す汎用 chi^2 ファンクターを作成したい場合、それは (ほとんど) 不可能です。 PyMinuit.

そのため、PyMinuit を変更して正確な関数を追加し、出力を変更しようとしました。PyMinuit コードは C で書かれていることがわかりました。これは変更が面倒です。ということで、cythonで書き直します。

あなたがiminuitで見つけるカップルの追加:

  1. IPython ノートブックとのより良い統合。結果を素敵な表に出力し、いくつかのことを無料でグラフ化できます。
  2. 関数シグネチャの抽出は、PyMinuit よりもはるかに寛容です
  3. 長いパラメータ名。実際には PyMinuit のバグではありませんが、Minuit 1.7.x には、名前の長さがハードコードされたというバグがあります。
  4. 片側の制限よくわかりませんが、PyMinuitはこれを行わないと思います
  5. 進行状況のプリントアウトは少し異なりますが、好みの問題です。私が持っているものは、IMO がより理にかなっている ROOT に触発されています。
  6. 利益の統合。データと pdf を取り、最小化のために chi^2 関数を吐き出す関数について言及したことを覚えていますか? チュートリアルを参照してください。
于 2013-11-20T05:43:13.840 に答える