sympy - 功能和操作员的组成

时间:2014-08-14 23:17:52

标签: python math sympy

假设我们有一个函数f和一个运算符L.在这种情况下,它可以是简单的,比如,

L[f](x)=\sum_{k=1}^{4}f(x+k)

我的主要目标是使用sympy计算运算符的组合,如上面的L. Sympy处理函数组合没有问题,但我们很快就会发现上面的运算符会出现问题。

例如,我可以将其定义为,

class L(Function):

 @classmethod
 def eval(cls, f,x):
     k = Symbol('k')
     return summation(f(k+x),(k,1,4))

这确实计算L [f]但返回一个不再是x函数的计算对象,因此计算L [L [f]]不再有意义。

有没有一种方法可以将L返回的内容转换为x的函数?我认为这样可以解决问题,从那时起我就可以在新对象上重新应用L.

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

这个问题毕竟有一个简单的答案。 Sympy的Lambda在这种情况下做了诀窍,然后我可以在评估完成后重新应用L.