SFC64 小型快速混沌伪随机数生成器#
- class numpy.random.SFC64(seed=None)#
Chris Doty-Humphrey 的小型快速混沌伪随机数生成器 (Small Fast Chaotic PRNG) 的位生成器。
- 参数:
- seed{None, int, array_like[ints], SeedSequence},可选
用于初始化
BitGenerator
的种子。如果为 None,则会从操作系统获取新的、不可预测的熵。如果传入一个int
或array_like[ints]
,它将被传递给SeedSequence
以推导出初始的BitGenerator
状态。也可以传入一个SeedSequence
实例。
备注
SFC64
是 Chris Doty-Humphrey 的小型快速混沌伪随机数生成器 ([1]) 的 256 位实现。SFC64
根据种子可能会处于不同的周期;预期周期约为 \(2^{255}\) ([2])。SFC64
包含一个 64 位计数器,这意味着其绝对最小周期长度为 \(2^{64}\),并且不同的种子至少在 \(2^{64}\) 次迭代内不会相互冲突。SFC64
提供一个包含函数指针的胶囊,这些函数指针用于生成双精度浮点数、无符号 32 位和 64 位整数。这些不能直接在 Python 中使用,必须由支持低级访问的Generator
或类似对象使用。状态和播种
SFC64
状态向量由 4 个无符号 64 位值组成。最后一个是每次迭代递增 1 的 64 位计数器。输入种子由
SeedSequence
处理以生成前 3 个值,然后SFC64
算法迭代少量次数进行混合。兼容性保证
SFC64
保证固定的种子将始终产生相同的随机整数流。参考文献
状态#
获取或设置 PRNG 状态 |