Random number generator xorshift1024*
Random number generator xorshift1024*. This generator has a period of 2^1024 (the period defines the number of random numbers generated before the sequence begins to repeat itself). For an overview, comparison with other random number generators, and links to articles, see Math.Random.Generators.
Extends from Modelica.Icons.Package (Icon for standard packages).
Name | Description |
---|---|
nState=33 | The dimension of the internal state vector |
initialState | Returns an initial state for the xorshift1024* algorithm |
random | Returns a uniform random number with the xorshift1024* algorithm |
Returns an initial state for the xorshift1024* algorithm
state = Xorshift1024star.initialState(localSeed, globalSeed);
Generates an initial state vector for the Xorshift1024star random number generator (= xorshift1024* algorithm), from two Integer numbers given as input (arguments localSeed, globalSeed). Any Integer numbers can be given (including zero or negative number). The function returns a reasonable initial state vector with the following strategy:
The Xorshift64star random number generator is used to fill the internal state vector with 64 bit random numbers.
parameter Integer localSeed; parameter Integer globalSeed; Integer state[Xorshift1024star.nState]; initial equation state = initialState(localSeed, globalSeed);
Random.Generators.Xorshift1024star.random.
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
localSeed | The local seed to be used for generating initial states |
globalSeed | The global seed to be combined with the local seed |
Name | Description |
---|---|
state[nState] | The generated initial states |
Returns a uniform random number with the xorshift1024* algorithm
(r, stateOut) = Xorshift128plus.random(stateIn);
Returns a uniform random number in the range 0 < random ≤ 1 with the xorshift1024* algorithm. Input argument stateIn is the state vector of the previous call. Output argument stateOut is the updated state vector. If the function is called with identical stateIn vectors, exactly the same random number r is returned.
parameter Integer localSeed; parameter Integer globalSeed; Real r; Integer state[Xorshift1024star.nState]; initial equation state = initialState(localSeed, globalSeed); equation when sample(0,0.1) then (r, state) = random(pre(state)); end when;
Random.Generators.Xorshift1024star.initialState.
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
stateIn[nState] | The internal states for the random number generator |
Name | Description |
---|---|
result | A random number with a uniform distribution on the interval (0,1] |
stateOut[nState] | The new internal states of the random number generator |