Random Number Generation and Monte Carlo Methods

by James E. Gentle


This edition incorporates discussion of many advances in the field of random number generation and Monte Carlo methods since the appearance of the first edtion in 1998. The additional or revised material also represents changes in my perception of the relative importance of various topics. The role of Monte Carlo methods and simulation in all of the sciences has continued to increase in usage.

Chapter 1 discusses methods for generation of basic sequences of pseudorandom numbers that simulate a uniform distribution over the unit interval (0,1).

In Chapter 2, I address some issues of the quality of pseudorandom generators. This discussion had been postponed until after the discussion of Monte Carlo methods in the first edition. (Chapter 2 in this edition is a revision of the first part of Chapter 6 of the first edition.)

Chapter 3 describes some of the basic issues in quasirandom sequences. These sequences are designed to be very regular in covering the support of the random process simulated. (Chapter 3 in this edition is a revision of the second part of Chapter 6 of the first edition.)

Chapter 4 discusses general methods for transforming a uniform random deviate or a sequence of uniform random deviates into a deviate from a different distribution. Chapter 5 describes methods for some common specific distributions. The intent is not to provide a compendium in the manner of Devroye (1986a), but for many standard distributions, to give at least a simple method or two, which may be the best method, but if not, to give references to better methods. Chapter 6 continues the developments of Chapters 4 and 5 to apply them to generation of samples and of nonindependent sequences.

Chapter 7 considers some applications of random numbers. Some of these applications are to solve deterministic problems. This type of method is called Monte Carlo.

Chapter 8 provides information on computer software for generation of random variates. The discussion concentrates on the S-Plus, R, and IMSL software systems.

Monte Carlo methods are widely used in the research literature to evaluate properties of statistical methods. Chapter 9 addresses some of the considerations that apply to this kind of study. I emphasize that a Monte Carlo study uses an experiment, and the principles of scientific experimentation should be observed.

The literature on the topic of random number generation and Monte Carlo methods is vast and ever-growing. The list of references contains many publications since the publication of the first edition; however, as in the first edition, I do not attempt to provide a comprehensive bibliography. As before, I do not attempt to distinguish the highly-varying quality of the literature.

The main prerequisite for this text is some background in what is generally called ``mathematical statistics''. Some scientific computer literacy is also necessary. I do not use any particular software system in the book, but I do assume the ability to program in either Fortran or C, and the availability of either S-Plus, R, Matlab, or Maple. For some exercises, the required software can be obtained from either statlib or netlib (see the bibliography). In most classes I teach in computational statistics, I give Exercise 9.3 in Chapter 9 as a term project. It is to replicate and extend a Monte Carlo study reported in some recent journal article.


I thank John Kimmel of Springer for his encouragement and advice on this book and other books he has worked with me on. I also thank the reviewers for their comments and suggestions.

I thank my wife Maria, to whom this book is dedicated, for everything.

I used TeX via LaTeX to write the book, and I used S-Plus and Matlab to generate the graphics. I did all of the typing, programming, etc., myself, so all mistakes are mine. I would appreciate receiving suggestions for improvement and notice of errors.