如何在sympy中计算多元函数的(符号)梯度?
显然我可以分别为每个变量计算导数,但是否有一种向量化操作可以实现这一点?
例如:
m=sympy.Matrix(sympy.symbols('a b c d'))
现在我可以做 i=0..3 的情况:
sympy.diff(np.sum(m*m.T),m[i])
这个方法可以起作用,但我更倾向于像这样做:
sympy.diff(np.sum(m*m.T),m)
不起作用("AttributeError:ImmutableMatrix没有属性_diff_wrt")。
m
一起使用,但它不知道如何执行。只需在m
上使用列表推导式即可。 - asmeurer