代入后分布常数项求和的导数

Distribute derivative of sum with constant term after substitution

如果我这样做

import sympy
k, V, Vprime = sympy.symbols('k, V, Vprime')

print sympy.diff(k + V(t), t)

如我所料得到 Derivative(V(t), t) - 导数分布并且常数项导数为零。

但是,如果我通过替换构造等价表达式,simplify 不会分发导数。如何通过替换获得与直接计算表达式时相同的结果?

sympy.diff(Vprime(t)).subs({Vprime(t): k + V(t)}).simplify()

returns Derivative(k + V(t), t).

这个问题的解决方案是由doit方法提供的,它说"Evaluate(s) objects that are not evaluated by default like limits, integrals, sums and products.":

sympy.diff(Vprime(t)).subs({Vprime(t): k + V(t)}).doit()

产量

Derivative(V(t), t)