SFC64 小型快速混沌 PRNG#
- class numpy.random.SFC64(seed=None)#
Chris Doty-Humphrey 的小型快速混沌 PRNG 的位元產生器。
- 參數:
- 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 狀態 |