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