Python 有没有一种方法可以在numpy中实现无for循环的递归?

Python 有没有一种方法可以在numpy中实现无for循环的递归?,python,numpy,vectorization,recurrent-neural-network,recurrence,Python,Numpy,Vectorization,Recurrent Neural Network,Recurrence,我有以下问题。有一个矩阵X,我需要生成一个矩阵H,这样矩阵H中I/code>行的值由矩阵X的I/code>行和(I-1)矩阵H的行确定 H_{i} = F(X_{i}, H_{i-1}) 为了计算矩阵H的第一行,我们使用矩阵行中的一个特殊列(也就是说,第0行) 有没有一种方法可以在不使用for循环的情况下以矢量化的形式有效地实现此循环?除了显式的for循环之外,没有其他方法(通常)。这是因为无法跨行并行执行此任务(因为每一行都依赖于其他行) 更困难的是,您可以轻松地生成,例如,使用看似无辜的:

我有以下问题。有一个矩阵
X
,我需要生成一个矩阵
H
,这样矩阵
H
I/code>行的值由矩阵
X
I/code>行和
(I-1)
矩阵
H
的行确定

H_{i} = F(X_{i}, H_{i-1})
为了计算矩阵
H
的第一行,我们使用矩阵行中的一个特殊列(也就是说,第0行)

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

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

更困难的是,您可以轻松地生成,例如,使用看似无辜的:
x{n+1}=r*x{n*(1-x{n-1})


只有设法找到一个封闭的形式,基本上消除了重复关系,才能找到解决这个问题的方法。但是对于每个递归关系都必须这样做,而且我很确定你甚至不能保证封闭形式的存在…

取决于
F
,真的。我怀疑有没有一种通用的方法。在物理学的开始,向量作为一种方法被引入,它将一个点的坐标作为一个物体,而不是3个数字。这一想法一直延续到
numpy
。在适当的矢量化中,我们通常不关心求值顺序-
numpy
应该负责这些细节。因此,一个依赖于评估顺序的计算并不完全合适。像
cumsum
这样的操作最接近于编译的顺序操作。