Appendix C. Random Library Appendix

Table of Contents
C.1. Supplemental comments on random number generators
C.2. Usage Guide
C.2.1. Usage Guide for Generators
C.2.1.1. Simple generators
C.2.1.2. Split generators
C.2.1.3. Saving and Resetting State
C.2.2. Usage Guide for Distributions
C.2.2.1. Creating distributions
C.2.2.2. Saving And Restoring State
C.3. Advanced Usage Guide
C.3.1. Choosing a Generator
C.3.1.1. Choosing A Generator
C.3.1.2. Strategy For Using Random Generators
C.3.1.3. Generator Quality
C.3.1.4. More generator data
C.3.2. Default Generators for the Distributions
C.3.2.1. Random Library: Default Generators
C.3.2.2. Utility Generator And Distributions
C.3.3. Random Library Test Programs
C.4. Resources for random number generation
C.4.1. Generators
C.4.2. Distributions
C.4.3. Useful Web Sites

C.1. Supplemental comments on random number generators

Please consider some additional warnings about the usage of random number generators

  1. DO NOT use generators with bad statistical properties. See Advanced Usage Guide for a discussion of the generators implemented in this library.

  2. DO NOT use generators whose maximum cycle length is too short for the intended application; you don't want your generators to start repeating themselves. Be especially aware of this if you use the PMMLCGgen class of generator; these have good properties but a fairly short cycle. See Advanced Usage Guide to read more about how to select a generator.

  3. AVOID having generators in your simulation run in `lock-step', producing output that is statistically correlated. This may happen if you have several generators of the same class, all started with the same default seed.

  4. Be aware that even the best generators can have unexpected correlations with particular implementations of some models. As a result, in some cases using a "better" random number generator can result in worse (less correct) model behavior than one could obtain when using a "bad" generator. If you suspect your model may have this kind of problem, you probably should re-run some experiments using a different underlying generator, to make sure the results are (statistically at least) the same. (For examples of this, see the references [Ferrenberg et al 1992] and [Nature 1994].)