@@ -444,7 +444,7 @@ $Y_5$
444444``` {code-cell} python3
445445beta_dist = beta(2, 2)
446446
447- def gen_x_draws(k):
447+ def gen_x_draws(k, rng ):
448448 """
449449 Returns a flat array containing k independent draws from the
450450 distribution of X, the underlying random variable. This distribution
@@ -456,7 +456,7 @@ def gen_x_draws(k):
456456 bdraws[1, :] += 0.6
457457 bdraws[2, :] -= 1.1
458458 # Set X[i] = bdraws[j, i], where j is a random draw from {0, 1, 2}
459- js = np.random.randint (0, 2, size=k)
459+ js = rng.integers (0, 2, size=k)
460460 X = bdraws[js, np.arange(k)]
461461 # Rescale, so that the random variable is zero mean
462462 m, sigma = X.mean(), X.std()
@@ -465,11 +465,12 @@ def gen_x_draws(k):
465465nmax = 5
466466reps = 100000
467467ns = list(range(1, nmax + 1))
468+ rng = np.random.default_rng()
468469
469470# Form a matrix Z such that each column is reps independent draws of X
470471Z = np.empty((reps, nmax))
471472for i in range(nmax):
472- Z[:, i] = gen_x_draws(reps)
473+ Z[:, i] = gen_x_draws(reps, rng )
473474# Take cumulative sum across columns
474475S = Z.cumsum(axis=1)
475476# Multiply j-th column by sqrt j
0 commit comments