Spec-Zone.ru › NumPy 2.0

SFC64 Малый Быстрый Хаотический Псевдослучайный Генератор

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

Spec-Zone.ru

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