木客的博客

记录python新手的学习过程,分享心得,专注算法 ...

↑我也要推荐

SciPy 的紧急援助功能 BUG

发布时间:2011-06-20 12:06:40, 关注:+4825, 赞美:+4, 不爽:+5

本文标签: scipy

原始出处: Rikku的涂鸦馆

以下是昨晚我公司的效益走势图,令我惊讶的是它居然是锯齿状的曲线,其实它正确的显示方式应该是圆滑的曲线。(下图是一个示例)

我首先想到的是,这必然有一个在 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 plt

def g(y):
    z = (1 + 1j*y) /  sqrt(2)
    temp = exp(z*z)*(1 - erf(z))
    u, v = temp.real, temp.imag
    return -v / u

x = linspace(0, 10, 101)
plt.plot(x, g(x))

如果你觉得本站对你有帮助,欢迎向本站赞助 :P

使用支付宝捐赠

Copyright© Python4cn(news, jobs) simple-is-better.com, 技术驱动:powered by web.py 空间主机:Webfaction

版权申明:文章转载已注明出处,如有疑问请来信咨询。本站为 python 语言推广公益网站,与 python 官方没有任何关系。

联系/投搞/留言: en.simple.is.better@gmail.com 向本站捐赠