sympy - 函数与运算符的组合

1 投票
1 回答
626 浏览
提问于 2025-04-18 17:21

假设我们有一个函数 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]] 就没有意义了。

在 sympy 中有没有办法把 L 返回的结果转换成 x 的函数?我觉得这样就能解决问题,因为那样我就可以对新的对象重新应用 L。

感谢你的时间。

1 个回答

1

这个问题其实有个简单的答案。Sympy的Lambda在这种情况下可以解决问题,然后我可以在计算完成后再重新应用L。

撰写回答