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

时间:2018-02-19 11:06:39

标签: python numpy vectorization recurrent-neural-network recurrence

我有以下问题。有一个矩阵X,我需要生成矩阵H,以便矩阵i_th中的H行的值由矩阵的i_th行确定矩阵X的{​​{1}}和(i-1)_th行。

H

要计算矩阵H_{i} = F(X_{i}, H_{i-1}) 的第一行,我们使用一个特殊的矩阵外行(行0,所以说)。

有没有办法以矢量化的形式有效地实现这种重复,而不使用for循环?

1 个答案:

答案 0 :(得分:2)

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

更难以实现的是,您可以轻松生成chaotic behavior,例如看似无辜的logistic mapx_{n+1} = r * x_n * (1 - x_{n-1})

如果您设法找到一个封闭的表单,基本上消除了重复关系,您只能找到解决此问题的方法。但是必须为每个递归关系做这个,我很确定你甚至不能保证一个封闭的形式存在......