2017-07-20 89 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的開發版),但至少對未來有希望。