ipython和python是不是同一个软件_为什么SciPy在IPython和Python中的行为有很大不同?...

我写了这个测试脚本:import numpy as np

import scipy.linalg

n = 130

r = np.array(np.random.normal(size=(n, n)), dtype=np.float32)

e = scipy.linalg.eig(r, left=False, right=False)

print e.mean()

使用IPython运行它,代码总是在几秒钟内成功(我试了十几次)

对于Python,代码总是无法与以下消息聚合(或者只是挂起,对于更大的n)如下

^{pr2}$

是什么解释了Python和IPython在行为上的差异?软件的相关版本为:Ubuntu 12.04,64位

数字1.6.1

SciPy 0.9.0版

Python 2.7.3

IPython 0.12.1版

编辑

我仅以单精度和n >= 130观察到这种行为。如果n = 129,则代码可以在Python和IPython中工作。在

在import后面添加np.random.seed(1234)会得到相同的结果:IPython会收敛,而Python则不会。在

scipy.linalg.__file__ = '/usr/lib/python2.7/dist-packages/scipy/linalg/__init__.pyc'两者都有。尽管如此,我猜IPython和Python会设法引入不同的LAPACK版本,但是如何做到呢?在

我注意到这个奇怪之处的方式是我在IPython中进行试验,然后将代码粘贴到一个用Python运行的*.py文件中。你可以想象我有一段时间有多困惑。在

编辑2。在

np.geterr()在Python和IPython中都是{'divide': 'warn', 'invalid': 'warn', 'over': 'warn', 'under': 'ignore'}$ ls -l /etc/alternatives/libblas.so

lrwxrwxrwx 1 root root 37 Jun 29 18:21 /etc/alternatives/libblas.so -> /usr/lib/openblas-base/libopenblas.so

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值