Math::Random -- Random number generators This module generates a variety of random numbers. Capabilities of wide interest include the generation of: uniform numbers between 0 and 1 (or user chosen boundaries) random integers between user specified bounds random permutations of a list (shuffle a deck of cards) The starting value for the random number generators can be specified as a phrase. The user's name would make the value easy to remember. Of course, the Perl time function can be used to provide a pseudo-random starting value. Also included in the package are generators for a large number of distributions known primarily to statisticians. These include the normal, exponential, binomial, beta, gamma, t, F, and others. THE GOOD NEWS. The generators are taken from published sources, are of high quality, and are largely machine independent. We say "largely" because different machines handle floating point somewhat differently, so values may differ slightly. The integer calculations (random integers and permutations) should be the same from machine to machine. Devotees of Donald Knuth will be reassured to know that many of the algorithms used here are mentioned favorably in his treatment of random numbers. See The Art of Computer Programming, vol. 2 (Semi- numerical Algorithms), 3rd edition (Reading, Mass.: Addison-Wesley, 1997), pp. 106-108 (Table 1, line 21), 129-137. THE BAD NEWS. We adapted or modified many routines published in the ACM's Transactions on Mathematical Software. The ACM has copyright on these routines (see the ACM statement on software policy in the POD/man page). Commercial incorporation of these routines into products to be sold requires permission and perhaps payment to the ACM. But if you don't plan to sell them, enjoy. (Note, however, that algorithms per se cannot be copyrighted; see 17 USC 102(b).) How to Install ============== The usual: perl Makefile.PL make make test make install Starting with version 0.68, two versions of the phrtsd routine are available. For details, see the INSTALL file. Who Deserves the Credit? And Who Deserves the Blame? ===================================================== Math::Random was put together by John Venier and Barry W. Brown with help from SWIG. For version 0.61, Geoffrey Rommel made various cosmetic changes. Correspondence regarding Math::Random or randlib should be addressed to John Venier by email to jvenier@mdanderson.org Our address is: Department of Biomathematics, Box 237 The University of Texas, M.D. Anderson Cancer Center 1515 Holcombe Boulevard Houston, TX 77030 May 1999