开始使用SciPy和第一个示例不会运行

时间:2013-12-19 05:21:26

标签: scipy

环境是Ubuntu 12.x LTS 64位。我按如下方式运行安装:

 sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

所有东西安装得很好,我尝试了“开始”的例子只是为了发现这个错误就好像我的环境一样。没有正确设置..

参见orig @ http://www.scipy.org/getting-started.html

usernamep@ubuntudev:~$ ipython --pylab
Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
Type "copyright", "credits" or "license" for more information.

IPython 0.12.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

Welcome to pylab, a matplotlib-based Python environment [backend: TkAgg].
For more information, type 'help(pylab)'.

In [1]: from scipy import special, optimize

In [2]: f = lambda x: -special.jv(3,x)

In [3]: sol = optimize.minimize(f, 1.0)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/home/user/<ipython-input-3-ea43eb308d3c> in <module>()
----> 1 sol = optimize.minimize(f, 1.0)

AttributeError: 'module' object has no attribute 'minimize'

In [4]: 

我是否需要改进他们的例子的导入?现在检查他们的文档...

3 个答案:

答案 0 :(得分:1)

使用scipy安装的apt-get几乎肯定已经过时了minimize :( 0.10,我猜)。该代码适用于我:

>>> from scipy import special, optimize
>>> def f(x): return -special.jv(3,x)
>>> sol = optimize.minimize(f, 1.0)
>>> sol
   status: 0
  success: True
     njev: 17
     nfev: 51
 hess_inv: array([[ 4.70024446]])
      fun: -0.43439442684052476
        x: array([ 4.20118891])
  message: 'Optimization terminated successfully.'
      jac: array([ -3.72529030e-09])

我认为使用pip安装堆栈会更好。

答案 1 :(得分:1)

Scipy v.0.11中引入了

optimize.minimize(参见http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html)。

On Debian,这意味着你需要Jessie或更好。 On Ubuntu,您似乎需要或更好。

答案 2 :(得分:1)

Ubuntu 12中的python-scipy包有点旧。我认为它是0.9.0版本。将optimize.minimize函数添加到scipy ver 0.11.0。