[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(fwd) Random Numbers - Request for feedback



Newsgroups: sci.stat.math,sci.math,sci.math.num-analysis
Path: bga.com!news.sprintlink.net!news.onramp.net!convex!cs.utexas.edu!swrinde!ihnp4.ucsd.edu!agate!library.ucla.edu!csulb.edu!csus.edu!netcom.com!deleyd
From: [email protected]
Subject: Random Numbers - Request for feedback
Message-ID: <[email protected]>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
Date: Wed, 6 Jul 1994 06:51:43 GMT
Lines: 43
Xref: bga.com sci.stat.math:1315 sci.math:15353 sci.math.num-analysis:3354

RE: Computer Generated Random Numbers

A few closing comments and requests for further information:

1.  All my tests on random number generators were performed on VAX/VMS
    computers.  VAX uses a 32-bit architecture, so the random number
    generators I tested were ones which used a word size of 32 bits or
    less.  I would be interested in anybody's test results of a random
    number generator utilizing a larger word size, such as xrand() using
    SIZE=63.

2.  Anyone know of some good references on primitive polynomials mod 2
    and their applications?  They're used in additive congruential
    random number generators like the xrand() one tested here.  They're
    also used by file transfer programs such as xmodem to insure error
    free transmission, and they're used in cryptography too.  Anyone
    know of a good book on Abstract Algebra?  (The ones I have just
    briefly touch the topic and then move on.)


3.  Resolution:  Usually the random number generator is set up to return
    a floating point value between 0 and 1.  A typical floating point
    variable R can only represent a finite number of different values
    between 0 and 1.  If you magnify the result too much the
    discreetness of the floating point datum will become obvious.  For
    example, in VAX architecture the F-floating datum has a precision of
    approximately one part in 2**23.  Multiplying R by a very large
    number N to create a random variable between 0 and N will fail if N
    is too large because some of the values between 0 and N have no
    corresponding R value which maps to them (i.e. the mapping is no
    longer a surjection or onto map).
    
    For an F_floating datum, N above 2**23 is obviously too large.  But
    even below 2**23 there's still a problem of some bins having 2 R
    values which map to them while other bins have only 1.  We need to
    get N small enough so that the number of R values which maps to any
    bin is about the same, close enough so that differences aren't
    noticed when we test the random number generator.

-David Deley
[email protected]