首页 > 解决方案 > 在 SageMath 9.1 中控制差异化的“水平”

问题描述

Sage 似乎希望尽可能使用链式法则来评估衍生品。一个简单的例子是:

var('theta')
f = function('f')(theta)
g = function('g')(theta)

h = f*g
diff(h,theta)

这将显示

g(theta)*diff(f(theta), theta) + f(theta)*diff(g(theta), theta)

我的问题是,有没有办法控制 Sage 将衍生产品走多远?例如,在上面的示例中,我将如何让 Sage 显示:

diff(f(theta)*g(theta))

我正在研究流体力学中的一些非常密集的推导,并且不能像上面讨论的那样一直评估导数,这真的有助于解决这个问题。提前致谢。将不胜感激任何帮助。

标签: sagederivative

解决方案


这将被称为“持有”衍生品。

已经考虑将这种可能性添加到 Sage。

跟踪这方面的进展:

票甚至链接到一个带有实现此代码的分支。

尽管这方面的进展停滞不前,并且分支尚未合并,但您可以使用分支中的代码。


推荐阅读