Anaconda3 scipy.special lambertw函数返回nan

时间:2015-06-11 22:10:43

标签: python scipy anaconda

我在Ubuntu 14.04桌面版中使用Anaconda3 2.2.0 Linux x84_64。我在新的Ubuntu环境中运行了Anaconda .sh安装文件。

>> from scipy.special import lambertw
>> lambertw(1.7402053563369019e-09)

预期输出为:

(1.7402053533085873e-09+0j)

然而输出是:

(nan+0j)

此问题在Python 2 Anaconda或Windows版Anaconda 3中不存在。

1 个答案:

答案 0 :(得分:0)

出现此错误的原因是Continuum使用较旧的编译器来构建SciPy包以实现向后兼容。特别是,版本4.4.7附近的GCC在这个和其他一些函数中需要复数运算方面存在一些问题。使用pip自己构建SciPy软件包,或者只要你的GCC版本足够新,就可以手动生成工作安装(根据我的经验,Ubuntu 14.04附带的版本4.8.4可以工作)。 Continuum知道这个问题并正在修复,请参阅此GitHub问题:https://github.com/ContinuumIO/anaconda-issues/issues/425