SFC64 Малый быстрый хаотический генератор псевдослучайных чисел
-
class numpy.random.sfc64.SFC64(seed=None) -
Генератор битов для малого быстрого хаотического генератора псевдослучайных чисел Криса Доти-Хамфри.
Параметры: -
seed : {None, int, array_like[ints], ISeedSequence}, optional -
Семено для инициализации
BitGenerator. Если None, то свежая, непредсказуемая энтропия будет получена из операционной системы. Если передаетсяintилиarray_like[ints], то он будет переданSeedSequence, чтобы вывести начальное состояниеBitGenerator. Также можно передать реализацию интерфейсаISeedSequence, напримерSeedSequence.
Примечания
SFC64— это 256-битная реализация малого быстрого хаотического генератора псевдослучайных чисел Криса Доти-Хамфри ([1]).SFC64имеет несколько разных циклов, на которых может находиться в зависимости от семени; ожидаемая длина цикла будет примерно([2]).
SFC64включает 64-битный счётчик, что означает, что абсолютная минимальная длина цикла равна, а различные семена не будут сталкиваться друг с другом не менее чем за
итераций.
SFC64предоставляет капсулу, содержащую указатели функций, которые генерируют двойные и беззнаковые 32- и 64-битные целые числа. Они не являются непосредственно пригодными для использования в Python и должны использоваться объектомGeneratorили аналогичным объектом, который поддерживает низкоуровневый доступ.Состояние и инициализация
Вектор состояния
SFC64состоит из 4 беззнаковых 64-битовых значений. Последнее — это 64-битный счётчик, который увеличивается на 1 на каждой итерации.Входное семя обрабатывается
SeedSequenceдля генерации первых 3 значений, а затем алгоритмSFC64итерируется небольшое количество раз для перемешивания.Гарантия совместимости
SFC64гарантирует, что фиксированное семя всегда будет генерировать тот же поток случайных целых чисел.Ссылки
[1] “PractRand” [2] “Статистики случайных обратимых отображений” -
Состояние
state | Получить или установить состояние генератора псевдослучайных чисел |
Расширение
cffi | Интерфейс CFFI |
ctypes | Интерфейс ctypes |
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/random/bit_generators/sfc64.html