## Example 2 LCG (5, 0, 16, 1)     continued...

• At coarse granularity, the sequence is uniform. For example, if we divide [0,1) equally into quarter segments, then exactly one random number falls into each segment: [0, 0.25), [0.25, 0.5), [0.5, 0.75) and [0.75,1). However, at finer granularity, this uniformity breaks down - consider dividing up the domain into 8 equal segments, for example. Here, we have a mismatch between the random number generator we are using, and the ``scale'' or granularity of our problem --- the RNG is incapable of producing random numbers which fill our attribute space (here, our 8 bins). There are two separate issues to consider here. The least troublesome is the finite precision existing in all computers, which results in a round-off error to the precision with which integers can be represented, or with which the floating point divide is accomplished. More serious is the second issue: the interaction of the sequence of random numbers produced by our generator with our application. This interaction is particularly troublesome when our application requires n-tuples of random numbers, instead of just one random number at a time. Later, we shall illustrate this effect by displaying plots of individual points generated using various RNGs. In some applications, several random numbers are needed at a time. For example, when tracing particles among surfaces, three random numbers are required to obtain outgoing direction (one for outgoing azimuthal angle, and one for outgoing polar angle) and energy (usually, only one is required to obtain the energy).