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