Spec-Zone.ru › NumPy 1.20

SFC64 Малый быстрый хаотический генератор псевдослучайных чисел

class numpy.random.SFC64(seed=None)

Генератор бит для малого быстрого хаотического генератора псевдослучайных чисел Криса Доти-Хамфри.

Параметры
seed{None, int, array_like[ints], SeedSequence}, optional

Зерно для инициализации BitGenerator. Если None, то свежая, непредсказуемая энтропия будет взята из ОС. Если передаётся int или array_like[ints], то она будет передана SeedSequence для получения начального состояния BitGenerator. Также можно передать экземпляр SeedSequence.

Примечания

SFC64 — это 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 гарантирует, что фиксированное зерно всегда будет производить один и тот же поток псевдослучайных целых чисел.

Ссылки

1

“PractRand”

2

“Статистики случайного обратимого отображения”

Состояние

state

Получить или установить состояние генератора псевдослучайных чисел

Расширение

cffi

Интерфейс CFFI

ctypes

Интерфейс ctypes

© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/random/bit_generators/sfc64.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API