2012-05-10 8 views
5

scipy.special.gammaincは、最初の引数に負の値をとることはできません。 Pythonで可能な他の実装はありますか?私は確かにマニュアルの統合を行うことができますが、私はすでに存在する良い選択肢があるかどうかを知りたいと思います。pythonの不完全なガンマ関数ですか?

Correct result: 1 - Gamma[-1,1] = 0.85 

Use Scipy: scipy.special.gammainc(-1, 1) = 0 

ありがとうございます。

答えて

3

特別な機能が必要なときはいつも私はmpmathになります。私はパフォーマンスについてあまり気にしません。 (多くの場合、その性能はとにかくかなり良いですが。)例えば

>>> import mpmath 
>>> mpmath.gammainc(-1,1) 
mpf('0.14849550677592205') 
>>> 1-mpmath.gammainc(-1,1) 
mpf('0.85150449322407795') 
>>> mpmath.mp.dps = 50 # arbitrary precision! 
>>> 1-mpmath.gammainc(-1,1) 
mpf('0.85150449322407795208164000529866078158523616237514084') 
+0

おかげで、私はオンラインの簡単な検索をしましたが、スタンドアロンの解決策を見つけることができませんでした。これはほんのわずかな機能の1つで、特別なパッケージをインストールする数少ない機会の1つです。 – nye17

+1

「mpf」は何を表していますか? – LuizAngioletti