Spec-Zone.ru › NumPy 1.21

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

class numpy.random.SFC64(seed=None)

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

Параметры
seed{None, int, array_like[ints], SeedSequence}, необязательно

Зерно для инициализации 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

“Random Invertible Mapping Statistics”

Состояние

state

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

Расширение

cffi

Интерфейс CFFI

ctypes

Интерфейс ctypes

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

Spec-Zone.ru

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