In maple one can simplify expression using self-defined rules, like for example

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

In contrast, what I need is the ability to pass rules which are in functional form, i.e. something like

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

Does somebody know how to achieve this?

有帮助吗?

解决方案

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

其他提示

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)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top