¿Hay una manera de implementar la recurrencia en numpy sin for-loops?

Tengo el siguiente problema. Hay una matriz X y necesito generar una matriz H tal que los valores de i_th row en la matriz H estén determinados por i_th row de la matriz X y (i-1)_th row de la matriz H

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

Para calcular la primera fila de la matriz H usamos una fila especial fuera de la matriz (fila cero, por así decir).

¿Hay una manera de implementar esta recurrencia de manera eficiente, en forma vectorizada, sin usar para bucles?

No hay otra forma (en general) excepto para un bucle explícito. Esto se debe a que no hay manera de paralelizar esta tarea a través de las filas (ya que cada fila depende de alguna otra fila).

Lo que hace que esto sea aún más difícil es que puede generar fácilmente un comportamiento caótico , por ejemplo con el mapa logístico de apariencia aparentemente inocente: x_{n+1} = r * x_n * (1 - x_{n-1}) .

Solo puede encontrar una forma de evitar esto si logra encontrar una forma cerrada, eliminando esencialmente la relación de recurrencia. Pero esto se debe hacer para cada relación de recurrencia y estoy bastante seguro de que ni siquiera se garantiza que exista una forma cerrada …