SciPy 的紧急援助功能 BUG
我首先想到的是,这必然有一个在 python 的代码计算精度问题,但事实证明,有一个在 SciPy 版本 0.8.0b1 的错误。我开始填报,但我看到有类似的错误报告和一份这样的报告被标记为关闭,所以大概是修复将出现在下一个版本中。
问题是,SciPy 的紧急援助功能是虚的,近 5.8 部分参数不准确的。例如,紧急救援基金为 -4.5717 的数学计算 -4.5717×1012 + 1.04767×1012(1.0 + 5.7i)一SciPy 计算相同的值 -4.4370×1012 + 1.3652×1012 有近30%的迭代是关闭的。
下面就是触发该 BUG 的代码:
from scipy.special import erf
from numpy import linspace, exp
import matplotlib.pyplot as pltdef g(y):
z = (1 + 1j*y) / sqrt(2)
temp = exp(z*z)*(1 - erf(z))
u, v = temp.real, temp.imag
return -v / ux = linspace(0, 10, 101)
plt.plot(x, g(x))
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。