NumPy

Previous topic

numpy.random.Philox.state

Next topic

numpy.random.Philox.jumped

numpy.random.Philox.advance

method

Philox.advance(delta)

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

Parameters
deltainteger, positive

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

Returns
selfPhilox

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.