SFC64 小型快速混沌 PRNG#
- 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 的小型快速混沌 PRNG 的 256 位实现 ( [1] ).SFC64有几个不同的周期,具体取决于种子;预期周期约为 \(2^{255}\) ( [2] ).SFC64包含一个 64 位计数器,这意味着绝对最小周期长度为 \(2^{64}\) ,并且不同的种子在至少 \(2^{64}\) 次迭代内不会相互冲突.SFC64提供了一个包含函数指针的胶囊,这些指针生成双精度浮点数以及无符号 32 位和 64 位整数.这些不能在 Python 中直接使用,必须由Generator或类似支持底层访问的对象使用.状态和播种
SFC64状态向量由 4 个无符号 64 位值组成.最后一个是 64 位计数器,每次迭代递增 1.输入种子由
SeedSequence处理以生成前 3 个值,然后迭代少量次数的SFC64算法以进行混合.兼容性保证
SFC64保证固定的种子始终产生相同的随机整数流.参考文献
状态#
获取或设置 PRNG 状态 |