def getUpdate(W, x, y, lambd): G = getG(W, x) # PxP Gdamp = G + np.identity(P) * lambd J = getJ(W, x) # NxP grad = np.mean(J * np.tile(y-getz(W, x), (1, P)), 0) upd = solve(Gdamp, grad) # P return upd