>>> import scipy.special
>>> scipy.special.hankel1(0, 10**8)
(3.2060295340412074e-05+7.3063911655217044e-05j)
>>> scipy.special.hankel1(0, 10**9)
(2.4687471886269185e-05-5.2104226538976152e-06j)
>>> scipy.special.hankel1(0, 10**10)
(nan+nan*j)
我认为这些例子可以在Mathematica或MATLAB中运行。但是,我无法从scipy获得正确的结果。不知道为什么,可能我犯了一些错误?
np.complex(jv(0, 1e10), yv(0, 1e10))
。 - user707650yv
在使用你的新数字时会遇到与hankel1
类似的问题。我建议你向scipy团队反映这个问题。Mathematica和matlab可能正在运行比scipy使用的更近期的代码版本。 - user707650