Преобразование символических выражений в функции Python с использованием SymPy

У меня есть довольно большая символическая функция, которая оценивается для различных значений параметра в цикле. На каждой итерации после нахождения выражения функции выводятся частные производные. Что-то вроде этого:

from sympy import diff, symbols,exp

def lagrange_eqs(a):
    x,y,z= symbols('x y z')
    FUNC=x**2-2*x*y**2+z+a*exp(z)
    d_lgrng_1=diff(FUNC,x)
    d_lgrng_2=diff(FUNC,y)
    d_lgrng_3=diff(FUNC,z)
    return [d_lgrng_1,d_lgrng_2,d_lgrng_3]

Далее мне нужно преобразовать вывод этой функции в функцию Python, чтобы я мог использоватьfsolve найти значения x, y, z, для которых производные равны нулю. Функция должна принимать x, y, z как список.

Теперь вот моя проблема: как мне преобразовать вывод вышеуказанной функции в функцию Python, которую можно передать решателю. Такая функция должна выглядеть так (для a = 3):

def lagrange_eqs_solve(X): 
    x,y,z=X
    return [2*x - 2*y**2, -4*x*y, 3*exp(z) + 1]

Я просто скопировал вывод первой функции, чтобы построить вторую. Есть ли способ, которым я мог бы закодировать это? (Matlab имеет встроенную функцию для этого, называемую matlabFunction)

Ответы на вопрос(1)

Ваш ответ на вопрос