有没有办法在没有 for 循环的情况下在 numpy 中实现递归?

Is there a way to implement recurrence in numpy without for-loops?

我有以下问题。有一个矩阵 X,我需要生成一个矩阵 H,这样矩阵 Hi_th 行的值由矩阵的 i_th 行确定X(i-1)_th 矩阵行 H.

H_{i} = F(X_{i}, H_{i-1})

为了计算矩阵的第一行 H 我们使用特殊的矩阵外行(可以说是第 0 行)。

有没有一种方法可以在不使用 for 循环的情况下以矢量化形式有效地实现这种递归?

除了明确的 for 循环外,没有其他方法(通常)。这是因为无法跨行并行执行此任务(因为每一行都依赖于其他行)。

更难的是您可以轻松生成 chaotic behavior, for example with the seemingly innocent looking logistic map: x_{n+1} = r * x_n * (1 - x_{n-1}).

如果你设法找到一个封闭的形式,你只能找到解决这个问题的方法,从根本上消除递归关系。但这必须针对每个递归关系完成,我很确定你甚至不能保证存在封闭形式......