numpy.random.philox.Philox.advance

method

Philox.advance(delta)

Advance the underlying RNG as-if delta draws have occurred.

Parameters:
delta : integer, positive

Number of draws to advance the RNG. Must be less than the size state variable in the underlying RNG.

Returns:
self : Philox

RNG advanced delta steps

Notes

Advancing a RNG updates the underlying RNG state as-if a given number of calls to the underlying RNG have been made. In general there is not a one-to-one relationship between the number output random values from a particular distribution and the number of draws from the core RNG. This occurs for two reasons:

  • The random values are simulated using a rejection-based method and so, on average, more than one value from the underlying RNG is required to generate an single draw.
  • The number of bits required to generate a simulated value differs from the number of bits generated by the underlying RNG. For example, two 16-bit integer values can be simulated from a single draw of a 32-bit RNG.

Advancing the RNG state resets any pre-computed random numbers. This is required to ensure exact reproducibility.