In my experience, the np.random.exponential(a) function is slower than the (presumably) equivalent 1/a * np.log(1/np.random.uniform(0,1)) approach for generating exponentially distributed random numbers. This is a little strange and bears further inspection (e.g. maybe the latter approach has some bad behavior in the extremes). Regardless we should pick the best (fastest while still accurate) approach.
In my experience, the
np.random.exponential(a)function is slower than the (presumably) equivalent1/a * np.log(1/np.random.uniform(0,1))approach for generating exponentially distributed random numbers. This is a little strange and bears further inspection (e.g. maybe the latter approach has some bad behavior in the extremes). Regardless we should pick the best (fastest while still accurate) approach.