我想对这个积分进行数值评估
http://mathworld.wolfram.com/En-Function.html
似乎是使用Scipy在Python中实现的。尤其是
https://scipy.github.io/devdocs/generated/scipy.special.expn.html#scipy.special.expn
我想为纯复数值(z = i * x,其中x为实数)评估此函数,但似乎不起作用。你知道如何解决吗?
from scipy import special
print special.expn(2, 1j)
我得到:
“”“输入类型不支持ufunc'expn',并且根据强制转换规则” safe“”“”“
,不能将输入安全地强制转换为任何受支持的类型您知道如何解决吗?谢谢!
答案 0 :(得分:2)
如果您不介意其他依赖项,则可以使用expint
中的mpmath
函数。它处理复杂的参数:
In [153]: import mpmath
In [154]: mpmath.mp.prec = 100
In [155]: mpmath.expint(2, 1j)
Out[155]: mpc(real='-0.084410950559573886889031770373614', imag='-0.50406706190692837198985611774113')
答案 1 :(得分:0)
使用exp1
代替expn
(请参见docs):
复数参数z的指数积分E_1
示例:
import scipy.special as special
special.exp1(1+1j)
>>(0.0002816244519814326-0.17932453503935886j)