python - 将幂转换为 (lambda) 函数的应用次数
问题描述
这个问题是关于在 Python 中实现一个数学公式(使用 NumPy 和 SciPy 包)。
令L1和L2为两个数学运算符(一般不交换,即:L1(L2(x)) =/= L2(L1(x))),假设我有以下公式: apply (L1 + L2) ^n在x上。例如:如果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 函数来完成,但我不确定如何。
解决方案
对于计算 (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 发展到所需的功率。
推荐阅读
- sql - 如何查询两个日期之间未访问的对象(数据库、表)?
- typescript - 更漂亮的忽略一行代码不起作用?JSX -- {/* prettier-ignore */}
- javascript - 我需要帮助弄清楚如何添加值
- java - 连接互联网并关闭 apk 一段时间后显示弹出窗口
- react-native - 导航屏幕时,BottomTabNavigator 内的 StackNavigator 被重新渲染
- django - 甚至可以过滤 JsonField 元组或列表吗?(过滤仅适用于字典?)
- excel - Sendkeys 工作簿 vba
- c++ - 以下命令是什么“typedef mpc_val_t*(*mpc_apply_t)(mpc_val_t*);”
- python - 如何在有向树图中找到度数> 2的顶点之间的路径?
- javascript - css-loader 和 babel-plugin-react-css-modules 之间的哈希值不同