假设我们有一个函数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.
感谢您的时间。
答案 0 :(得分:1)
这个问题毕竟有一个简单的答案。 Sympy的Lambda在这种情况下做了诀窍,然后我可以在评估完成后重新应用L.