Если вы указываете свои тэта-переменные как функции, вы можете получить что-то вроде этого:
In [5]: A = theta12(x)*theta23(x)*theta13(x)
In [6]: A
Out[6]: θ₁₂(x)⋅θ₁₃(x)⋅θ₂₃(x)
In [7]: A.diff(x)
Out[7]:
d d d
θ₁₂(x)⋅θ₁₃(x)⋅──(θ₂₃(x)) + θ₁₂(x)⋅θ₂₃(x)⋅──(θ₁₃(x)) + θ₁₃(x)⋅θ₂₃(x)⋅──(θ₁₂(x))
dx dx dx
Обратите внимание, что я использую обычную производную.Для большего количества переменных просто используйте больше переменных (к сожалению, они будут распределяться):
In [8]: A = theta12(x,y)*theta23(x,y)*theta13(x,y)
In [9]: A.diff([[x,y]])
Out[9]:
⎡ ∂ ∂ ∂ ∂
⎢θ₁₂(x, y)⋅θ₁₃(x, y)⋅──(θ₂₃(x, y)) + θ₁₂(x, y)⋅θ₂₃(x, y)⋅──(θ₁₃(x, y)) + θ₁₃(x, y)⋅θ₂₃(x, y)⋅──(θ₁₂(x, y)) θ₁₂(x, y)⋅θ₁₃(x, y)⋅──(θ₂₃(x,
⎣ ∂x ∂x ∂x ∂y
∂ ∂ ⎤
y)) + θ₁₂(x, y)⋅θ₂₃(x, y)⋅──(θ₁₃(x, y)) + θ₁₃(x, y)⋅θ₂₃(x, y)⋅──(θ₁₂(x, y))⎥
∂y ∂y ⎦
Оператор градиента есть, но он предназначен для использования только в модуле sympy.vector
.