我怎样才能强迫枫木进行分化?

时间:2013-02-18 09:38:49

标签: maple differentiation

在区分功能时,我常常不清楚,在哪种情况下,枫执行链式区分,而实际情况则不然。

让我们看一个例子:

f := (x, y) -> r(x)*M(y);
g := (x, y) -> h(x, f(x,y));
A := D[2](g);

然后A(a,b)只提供

D[2](g)(a,b)

问题:为什么枫不通过应用链规则的定义来执行区分?我怎么能让枫树这样做呢?

更令人费解的是,在这个更简单的例子中,枫表现得如我所愿:

f := 'f';
g := (x, y) -> h(x, f(x,y));
A := D[2](g);

然后A(a,b)返回

D[2](h)(a, f(a, b))*D[2](f)(a, b)

也许这有助于解决问题...

1 个答案:

答案 0 :(得分:1)

这有用吗?

restart:

f := (x, y) -> r(x)*M(y):
g := (x, y) -> h(x, f(x,y)):

#diff(g(x,y),y);
#convert(diff(g(x,y),y),D);

unapply(convert(diff(g(x,y),y),D),[x,y]);

              (x, y) -> D[2](h)(x, r(x) M(y)) r(x) D(M)(y)