SFC64 小型快速混沌 PRNG#

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

Chris Doty-Humphrey 的小型快速混沌 PRNG 的位元產生器。

參數:
seed{None, int, array_like[ints], SeedSequence}, 選用

用於初始化 BitGenerator 的種子。如果為 None,則將從作業系統提取新的、不可預測的熵。如果傳遞 intarray_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 保證固定種子將始終產生相同的隨機整數流。

參考文獻

狀態#

state

取得或設定 PRNG 狀態

擴充#

cffi

CFFI 介面

ctypes

ctypes 介面