我遇到以下问题。有一个矩阵X
,我需要生成一个矩阵H
,使得矩阵H
中的i_th
行的值由矩阵X
的i_th
行和矩阵H
的(i-1)_th
行确定。
H_{i} = F(X_{i}, H_{i-1})
为了计算矩阵 H
的第一行,我们使用特殊的矩阵外行(可以说是第 0 行)。
有没有一种方法可以在不使用 for 循环的情况下以向量化形式有效地实现这种递归?
最佳答案
除了显式的 for
循环之外(一般来说)没有其他方法。这是因为无法跨行并行化此任务(因为每行都依赖于其他行)。
让这变得更加困难的是,您可以轻松生成 chaotic behavior ,例如看似无辜的logistic map :x_{n+1} = r * x_n * (1 - x_{n-1})
。
只有设法找到封闭形式,从本质上消除递归关系,才能找到解决此问题的方法。但这必须对每个递归关系完成,我很确定你甚至不能保证封闭形式的存在......
关于python - 有没有一种方法可以在没有 for 循环的情况下在 numpy 中实现递归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48864790/