使符号函数可调用 -- sympy

0 投票
1 回答
1117 浏览
提问于 2025-04-19 22:11

我想计算导数,然后找出它等于零的情况。

我正在使用sympy这个模块来完成这个任务。

r = somefunction(x1,x2)

通过这个函数,我希望能够调用这两个矩阵。

r_grad = [r.diff(x1), r.diff(x2)]
r_hess = [[r.diff(x1,x1), r.diff(x1,x2)],[r.diff(x2,x1), r.diff(x2,x2)]]

接下来,我想找出当r_grad[0]和r_grad[1]等于零时的情况,然后把这个结果代入到hessian中。 我该如何让这些.diff()符号可以被调用呢?

1 个回答

3

SymPy有一个叫做 lambdify 的模块,可以用来实现这些功能:

from sympy.utilities.lambdify import lambdify

func = lambdify((x1, x2), r.diff(x1))

func(1, 2) # evaluate the function efficiently at (1, 2)

撰写回答