在python中指定参数

时间:2015-02-25 22:14:45

标签: python scipy sparse-matrix

我正在尝试使用scipy.sparse.linalg.spilu(http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.sparse.linalg.spilu.html#scipy.sparse.linalg.spilu),我想指定milu = silu。

如果我的函数调用是:M=spla.spilu(A=A, milu=silu) 它给了我错误,如下所示:

Traceback (most recent call last):
  File "bicgstab_python.py", line 13, in <module>
    M=spla.spilu(A=A, milu=silu)
NameError: name 'silu' is not defined

如果我的函数调用是:M=spla.spilu(A=A, milu='silu') 它给了我错误,如下所示:

Traceback (most recent call last):
  File "bicgstab_python.py", line 13, in <module>
    M=spla.spilu(A=A, milu='silu')
TypeError: spilu() got an unexpected keyword argument 'milu'

我想知道我应该在这个函数中正确指定参数milu吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您使用的第二种方法是指定参数的正确方法。

但是,根据scipy源代码的最新版本:https://github.com/scipy/scipy/blob/v0.15.1/scipy/sparse/linalg/dsolve/linsolve.py,spilu函数中没有“milu”参数,尽管它仍然出现在注释中。所以我想这是一个不再支持的遗留参数,你不应该在你的代码中使用它。