2017-07-20 47 views
1

我有一个问题lambdifing需要一个大型数组的函数。一个简化的代码复制同样的问题是:Sympy:Lambdify函数与大阵列输入

from sympy import * 
def fun(x): 
    f = [] 
    for i,x_i in enumerate(x): 
     f.append(x_i**i) 
    return Matrix(f) 
N = 256 
x = Matrix([symbols("x_%s"%i) for i in range(N)]) 
fun_lam = lambdify((x,),fun(x)) 

这提供了以下错误:

Traceback (most recent call last): 
    File "bin/problem-lambdify.py", line 13, in <module> 
    fun_lam = lambdify((x,),fun(x)) 
    File ".../env/lib/python3.4/site-packages/sympy-1.1rc1-py3.4.egg/sympy/utilities/lambdify.py", line 434, in lambdify 
    func = eval(lstr, namespace) 
    File "<string>", line 1 
SyntaxError: more than 255 arguments 

我想sympy在一些点变平的参数,并因此导致此问题。

我想不出一个好方法。

回答

0

显然Python 3.7(它将于2018年发布),将会是removing这个限制。我知道这对你现在没有帮助(除非你想运行Python的开发版),但至少对未来有希望。