SFC64 小型快速混沌PRNG#

class numpy.random.SFC64(seed=None)#

用于Chris Doty-Humphrey的Small Fast Chaotic PRNG的BitGenerator.

参数:
seed{None, int, array_like[ints], SeedSequence}, optional

用于初始化 BitGenerator 的种子. 如果为 None,则将从操作系统中提取新鲜的,不可预测的熵. 如果传递一个 intarray_like[ints] ,它将被传递给 SeedSequence 以导出初始 BitGenerator 状态. 也可以传入一个 SeedSequence 实例.

注释

SFC64 是 Chris Doty-Humphrey 的 Small Fast Chaotic 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 保证固定种子始终产生相同的随机整数流.

参考

状态#

state 

获取或设置 PRNG 状态

扩展#

cffi 

CFFI 接口

ctypes 

ctypes 接口