Я пытаюсь расслоить выражение SymPy на функцию вычисления NumPy, но сохраняя некоторые символы исходного выражения. Это работает для некоторых простых выраженийLamdify функция, сохраняющая некоторые символы
>>> x,y,z=sympy.symbols('x y z')
>>> expr1=(x+y)*z
>>> func1=sympy.lambdify((x,y),expr1,modules='numpy')
>>> func1(1.,1.)
2.0*z
, но когда я пытаюсь некоторые другие более сложные, как:
>>> expr2=sympy.exp((x+y)*z)
>>> func2=sympy.lambdify((x,y),expr2,modules='numpy')
>>> func2(1.,1.)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <lambda>
AttributeError: 'Mul' object has no attribute 'exp'
я получаю эту ошибку. Любое предложение приветствуется!
Почему вы хотите, чтобы это была функция «numpy»? –
Существует сто операций для выполнения внутри символического выражения при выполнении замены. Выполнение этого с помощью sympy.subs занимает много времени. – mavillan
Пожалуйста, сообщите об этом здесь. https://github.com/sympy/sympy/issues –