`perturb_array` uses legacy calls (`np.random.seed`, `np.random.rand`) to generate series of random numbers, use a generator explicity. https://numpy.org/doc/stable/reference/random/generated/numpy.random.seed.html