不完整gamma函数不接受复杂值输入

2024-04-20 14:32:24 发布

您现在位置:Python中文网/ 问答频道 /正文

{I想计算^ a1中定义的^ m。如果我使用

from scipy.special import gamma,gammainc
from numpy import linspace

a = 0
z = (2+3j)*np.linspace(0,10)
gamma(a)*(1-gammainc(a,z))

其中z是一个复向量,我得到一个错误

^{pr2}$

有没有其他的功能来进行计算?当我尝试使用WolframAlpha的Gamma函数来实现这一点时,似乎没有问题。在


Tags: fromimport功能numpy定义a1错误np
1条回答
网友
1楼 · 发布于 2024-04-20 14:32:24

当SciPy不足以完成复杂的特殊功能时,mpmath通常会出手相救。比较

>>> mpmath.gammainc(0, 2+3j)
mpc(real='-0.024826207944199364', imag='0.020316674911044622')

{而且来自同一个}。在

它是用Python编写的,比SciPy慢;它也没有矢量化。所以用你的数据

^{pr2}$

注意,我避免将0作为参数传递(它是一个极点)。mpmath.gammainc的返回类型是它自己的mpc对象类型,但是可以像上面一样转换回NumPy。在

相关问题 更多 >