Last version:
, October 3rd 2024 (last respin 2024.1.1) 06-May-2024
|
[ <--- prev -- ] [ HOME ] [ -- next ---> ] [ full index ]
RANDOMIZe
sets the seeds for the double-precision random number generator RM64
WHAT(1) : logical file unit from which to read the seeds.
Default = 1.0 (reads the random number seeds from unit 1)
WHAT(2) : any number < 9.E8 (see Note 5)
Default: 54217137
WHAT(3-6), SDUM : not used
Default (option RANDOMIZe not given): standard seeds are used as
suggested by Marsaglia [Mar04]
Notes:
- 1) The random number generator can be now initialised in one way only,
namely to read from an external file (generated in a previous run) a
vector of 97 seeds (the file contains also some auxiliary
information). If that file is missing or empty or anyway invalid, the
code will initialise the random number generator in its default state.
- 2) While the number of calls to the random number generator are printed
on the standard output at the end of each primary history
(or group of histories - see WHAT(5) of option START), the
97 seeds are printed at the same time on a separate file.
Skipping calls is therefore unnecessary in order to re-start a run
at a particular point (e.g. where it stopped because of a crash).
- 3) It is MANDATORY to use only seeds output information as
written by the program in earlier runs ON THE SAME COMPUTER
PLATFORM. Otherwise the randomness of the number sequence
would not be guaranteed.
- 4) RM64 is a portable random number generator in double
precision, written in Fortran by P.R. Sala.
It is based on an algorithm by Marsaglia and Tang
[Mar04]. It gives random floating point numbers in the
interval [0,1), with 53 significant bits of mantissa.
- 5) Different numbers input as WHAT(2) will initialise different and
independent random number sequences, allowing the user to run
several jobs in parallel for the same problem. The default
value 54217137 is the initialiser used in Marsaglia's paper.
Example 1:
* The seeds for the random number generator will be read from the file connected
* with logical unit 1
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
RANDOMIZE 1.0 0.0 0.0 0.0 0.0 0.0 0.0
Example 2:
* This run will be completely independent statistically from the previous one
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
RANDOMIZE 1.0 4042731. 0.0 0.0 0.0 0.0 0.0
|