SobolEngine¶
- class torch.quasirandom.SobolEngine(dimension, scramble=False, seed=None)[源代码]¶
The
torch.quasirandom.SobolEngine是一个用于生成(经过扰动的)Sobol序列的引擎。Sobol序列是低差异拟随机序列的一个例子。这个用于Sobol序列的引擎实现能够采样高达21201维的序列。它使用了从https://web.maths.unsw.edu.au/~fkuo/sobol/获取的方向数,这些方向数是使用搜索标准D(6)直到21201维得到的。这是作者推荐的选项。
参考文献
Art B. Owen. 扰动Sobol和Niederreiter-Xing点. 复杂性杂志, 14(4):466-489, 1998年12月.
I. M. 索博尔。点在立方体中的分布及积分的精确评估。 计算数学与数学物理杂志,7:784-802,1967年。
- Parameters
维度 (整数) – 要绘制的序列的维度
scramble (bool, 可选) – 将其设置为
True将生成打乱的 Sobol 序列。打乱能够生成更好的 Sobol 序列。默认值:False。种子 (整数,可选) – 这是用于打乱的种子。如果指定了种子,随机数生成器的种子将被设置为这个值。否则,它将使用一个随机种子。默认值:
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=torch.float32)[源代码]¶
用于从Sobol序列中绘制一系列
n个点的函数。 请注意,样本依赖于之前的样本。结果的大小为。- Parameters
n (整数, 可选) – 要绘制的点的序列长度。 默认值: 1
输出 (张量, 可选) – 输出张量
dtype (
torch.dtype, 可选) – 返回张量所需的数据类型。 默认值:torch.float32
- Return type
- draw_base2(m, out=None, dtype=torch.float32)[源代码]¶
用于从Sobol序列中绘制一系列
2**m点的函数。 请注意,样本依赖于之前的样本。结果的大小为。- Parameters
m (整数) – 要绘制的点数的(以2为底的)指数。
输出 (张量, 可选) – 输出张量
dtype (
torch.dtype, 可选) – 返回张量所需的数据类型。 默认值:torch.float32
- Return type