4

前の反復から値を更新する二重ループを高速化する方法はありますか?

コード内:

def calc(N, m):
    x = 1.0
    y = 2.0
    container = np.zeros((N, 2))
    for i in range(N):
      for j in range(m):
        x=np.random.gamma(3,1.0/(y*y+4))
        y=np.random.normal(1.0/(x+1),1.0/sqrt(x+1))
      container[i, 0] = x
      container[i, 1] = y
    return container

calc(10, 5)

ご覧のとおり、内側のループは変数 x と y を更新していますが、外側のループは毎回異なる値の x で開始しています。これはベクトル化できるとは思いませんが、他にも改善点があるかもしれません。

ありがとう!

4

2 に答える 2