Trailing-Edge
-
PDP-10 Archives
-
decuslib20-05
-
decus/20-0150/taus.txt
There is 1 other file named taus.txt in the archive. Click here to see a list.
00100 IMPROVED RANDOM NUMBER GENERATOR
00200
00300 ABSTRACT
00400
00500 IN 1968 MARSAGLIA [1] PROVED THEORETICALLY THAT THE INDUSTRY
00600 STANDARD RANDOM NUMBER GENERATORS, BASED ON A MULTI-
00700 PLICATIVE CONGRUENTIAL PROCESS COULD NOT GIVE UNIFORM
00800 RANDOM DISTRIBUTION OF POINTS IN A CARTESIAN N-DIMEN-
00900 SIONAL SPACE FOR N > 1. GENERATORS BASED ON TAUSWORTHE'S [2]
01000 SEQUENCES DO NOT SUFFER THIS FAULT, PROVIDED THAT THE
01100 DEGREE OF THE GENERATING POLYNOMIAL IS SUFFICIENTLY HIGH.
01200 A PRIMITIVE POLYNOMIAL MODULO 2 OF DEGREE P WILL GENERATE
01300 POINTS IN N-SPACE UNIFORMLY TO PRECISION P/N.
01400
01500 THE FOLLOWING SUBROUTINE GENERATES PSEUDORANDOM 36-BIT
01600 INTEGERS AND 27-BIT REALS IN )-1:+1( , AND N-TUPLES OF
01700 THESE ARE UNIFORMLY DISTRIBUTED IN N-SPACE, FOR N<=6.
01800 IF HALF INTEGERS ARE USED, A 12-SPACE CAN BE COVERED UNIFORMLY.
01900
02000 THE 7-TERM LINEAR RECURRENCE RANDOMIZES THE SEQUENCE RAPIDLY
02100 STARTING FROM ANY SEED. THE SEQUENCE HAS GOOD STABILITY: A SUB-
02200 SEQUENCE WITH BAD STATISTICS WILL BE BRIEF. GENERATORS
02300 BASED ON PRIMITIVE TRINOMIALS ARE LESS STABLE: THEIR
02400 GENERATED SEQUENCES MAY CONTAIN LONG SUBSEQUENCES WITH
02500 VERY BAD STATISTICS. [3]
02600
02700 THE PROCESS USES LOGICAL OPERATIONS IN FAST REGISTERS,
02800 NO MULTIPLICATION, AND IS THEREFORE FAST. IT USES LITTLE
02900 MEMORY. THE MACRO ROUTINE IS CALLABLE IN FORTRAN AND SIMULA.
03000
03100 1. MARSAGLIA, GEORGE. "RANDOM NUMBERS FALL MAINLY IN THE
03200 PLANES", PROC. NTL. ACAD. SCI. 61,1968, PP 25-28
03300
03400 2. TAUSWORTHE, ROBERT. "RANDOM NUMBERS GENERATED BY LINEAR
03500 RECURRENCE MODULO 2", MATH. COMPUT., 19,1965, PP.201-209.
03600
03700 3. DAYKIN, P. N. IN PREPARATION.