Generating random numbers efficiently
Generating (pseudo-)random values is a frequent task in simulations and other programs. For some situations, you want to generate some combinatorial or algebraic values, such as a list or a polynomial; in other situations, you need random numbers, from a distribution that is uniform or more complicated. In this article I'll talk about all of these situations.