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