Spec-Zone.ru › NumPy 1.18

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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/random/bit_generators/sfc64.html

Spec-Zone.ru

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