Spec-Zone.ru › PyTorch 2.14

SobolEngine

class torch.quasirandom.SobolEngine(dimension, scramble=False, seed=None) [исходный код]

torch.quasirandom.SobolEngine — это движок для генерации (скремблированных) последовательностей Соболя. Последовательности Соболя — это пример квазислучайных последовательностей с низким расхождением.

Эта реализация движка для последовательностей Соболя позволяет генерировать последовательности с максимальной размерностью 21201. В ней используются числа направления из https://web.maths.unsw.edu.au/~fkuo/sobol/, полученные с помощью критерия поиска D(6) для размерности до 21201. Авторы рекомендуют использовать именно этот вариант.

Литература

  • Art B. Owen. Скремблирование точек Соболя и Нидеррайтера — Синга. Journal of Complexity, 14(4):466-489, декабрь 1998 г.
  • I. M. Sobol. Распределение точек в кубе и точное вычисление интегралов. Zh. Vychisl. Mat. i Mat. Phys., 7:784-802, 1967.
Параметры:
  • dimension (Int) – Размерность генерируемой последовательности
  • scramble (bool, необязательно) – Если установить значение True, будут генерироваться скремблированные последовательности Соболя. Скремблирование позволяет получать более качественные последовательности Соболя. По умолчанию: False.
  • seed (Int, необязательно) – Начальное значение для скремблирования. Если указано, начальное значение генератора случайных чисел устанавливается в это значение. В противном случае используется случайное начальное значение. По умолчанию: None

Примеры:

>>> soboleng = torch.quasirandom.SobolEngine(dimension=5)
>>> soboleng.draw(3)
tensor([[0.0000, 0.0000, 0.0000, 0.0000, 0.0000],
        [0.5000, 0.5000, 0.5000, 0.5000, 0.5000],
        [0.7500, 0.2500, 0.2500, 0.2500, 0.7500]])
draw(n=1, out=None, dtype=None) [исходный код]

Функция для генерации последовательности из n точек последовательности Соболя. Обратите внимание, что выборки зависят от предыдущих выборок. Размер результата — (n,dimension)(n, dimension).

Параметры:
  • n (Int, необязательно) – Длина последовательности точек для генерации. По умолчанию: 1
  • out (Tensor, необязательно) – Выходной тензор
  • dtype (torch.dtype, необязательно) – требуемый тип данных возвращаемого тензора. По умолчанию: None
Тип возвращаемого значения:

Tensor

draw_base2(m, out=None, dtype=None) [исходный код]

Функция для генерации последовательности из 2**m точек последовательности Соболя. Обратите внимание, что выборки зависят от предыдущих выборок. Размер результата — (2∗∗m,dimension)(2**m, dimension).

Параметры:
  • m (Int) – Показатель степени (по основанию 2), задающий число генерируемых точек.
  • out (Tensor, необязательно) – Выходной тензор
  • dtype (torch.dtype, необязательно) – требуемый тип данных возвращаемого тензора. По умолчанию: None
Тип возвращаемого значения:

Tensor

fast_forward(n) [исходный код]

Функция для быстрого перемещения состояния SobolEngine на n шагов вперёд. Это эквивалентно генерации n выборок без их использования.

Параметры:

n (Int) – Число шагов для перемещения вперёд.

reset() [исходный код]

Функция для сброса SobolEngine в исходное состояние.

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.quasirandom.SobolEngine.html

Spec-Zone.ru

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