首页 > 解决方案 > 将幂转换为 (lambda) 函数的应用次数

问题描述

这个问题是关于在 Python 中实现一个数学公式(使用 NumPy 和 SciPy 包)。

L1L2为两个数学运算符(一般不交换,即:L1(L2(x)) =/= L2(L1(x))),假设我有以下公式: apply (L1 + L2) ^nx上。例如:如果n=2则:

(L1+L2)^2 x = (L1*L1 + L1*L2 + L2*L1 + L2*L2 )(x) = L1(L1(x)) + L1(L2(x)) + L2(L1( x)) + L2(L2(x))

如何将运算符的幂(正整数)视为它在输入上的应用次数?我认为这可以使用 Python 的 lambda 函数来完成,但我不确定如何。

标签: pythonlambda

解决方案


对于计算 (L1+L2)^nx 的具体问题,我找到了一个解决方案,使用递归。

def f(L1,L2,x,n) :
   if n == 0 :
       return x
   else :
     return L1( f(L1,L2,x,n-1) ) + L2( f(L1,L2,x,n-1) )

也可以将其写成一个循环,从 n=0 发展到所需的功率。


推荐阅读