seedsMLCG README FILE version 2005-03-10 by Andreu Badal & Josep Sempau Universitat Politecnica de Catalunya CONTENTS: 0. COPYRIGHT AND DISCLAIMER 1. PURPOSE OF THIS SOFTWARE PACKAGE 2. WHERE DO I GET THE LATEST UPDATE? 3. WHO DO I COMPLAIN TO? >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 0. COPYRIGHT AND DISCLAIMER cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c c clonEasy c c Copyright (c) 2004 c c Universitat Politecnica de Catalunya c c c c Permission to use, copy, modify and re-distribute unaltered copies c c of this software package and its documentation for any purpose is c c hereby granted without fee, provided that this copyright notice c c appears in all copies. The Universitat Politecnica de Catalunya c c makes no representations about the suitability of this software for c c any purpose. It is provided "as is" without express or implied c c warranty. c c c cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. PURPOSE OF THIS SOFTWARE PACKAGE The program "seedsMLCG" calculates initialization values that produce disjoint, consecutive sequences of pseudo-random numbers. The calculated values initiate the generator in distant positions of the random number cycle (sequence splitting technique) and can be used, for instance, on a parallel Monte Carlo simulation. On execution, the user is prompted to introduce the modulus and multiplier of a multiplicative linear congruential generator (MLCG) and the separation (that is, the number of intermediate random values) to be jumped between consecutive seeds. Since long integers with sign are usually restricted to 32 bits, input separation is limited to 2^{31}-1. For this reason, the program also allows the user to input the separation as the exponent of a power of 10 to efficiently split the sequence of generators with a very long period. Negative distances can be entered to jump the sequence backwards with the aid of the Extended Euclidean algorithm. This capability may be useful for debugging purposes; for instance, to reproduce a certain past history. The FORTRAN 77 source code of seedsMLCG is accompanied by some sample input files. The files "seedsMLCG_1.in" and "seedsMLCG_2.in" contain the parameters that define the two MLCGs employed by RANECU (the generator used in PENELOPE, for example). These files are read by the program by redirecting the keyboard input with the '<' sign from the system command line. The generation of each seed takes a few microseconds on a modern computer. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. WHERE DO I GET THE LATEST UPDATE? seedsMLCG can be freely downloaded from http://www.upc.es/inte/downloads/seedsMLCG.htm >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. WHO DO I COMPLAIN TO? Report bugs, problems, praises and complaints to andreu.badal@upc.edu >>>> EOF >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>