使用作为函数关系的给定规则简化表达式

时间:2013-11-08 11:06:20

标签: simplify maple

在枫木中,可以使用自定义规则简化表达,例如

> simplify(x*y,{x=y+1})
y^2+y

相比之下,我需要的是能够传递功能形式的规则,例如

> wantedcommand(f(a)*f(b), f(x)=g(x+3))
g(a+3)*g(b+3)

有人知道如何实现这个目标吗?

2 个答案:

答案 0 :(得分:3)

applyrule(f(x::anything)= g(x+3), f(a)*f(b));

答案 1 :(得分:1)

ee := f(a)*f(b):

applyrule(f(x::anything)=g(x+3), ee);

                           g(a + 3) g(b + 3)

subsindets(ee,specfunc(anything,f),t->g(op(t)+3));

                           g(a + 3) g(b + 3)