2012-05-10 53 views
5

scipy.special.gammainc no puede tomar valores negativos para el primer argumento. ¿Hay alguna otra implementación que podría en Python? Puedo hacer una integración manual, pero me gustaría saber si existen buenas alternativas que ya existen.función gamma incompleta en python?

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

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

Gracias.

Respuesta

3

Normalmente llego a mpmath cada vez que necesito funciones especiales y no estoy demasiado preocupado por el rendimiento. (A pesar de su rendimiento en muchos casos es bastante bueno de todos modos.)

Por ejemplo:

>>> 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

gracias, hizo una breve búsqueda en línea, pero no logró encontrar una solución independiente. Supongo que esta es una de las pocas ocasiones en que instalo un paquete adicional para una sola funcionalidad ;-) – nye17

+1

¿Qué significa 'mpf'? – LuizAngioletti