Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Sobol quasirandom point set

`sobolset`

is a quasirandom point set object that produces points
from the Sobol sequence. The Sobol sequence is a base-2 digital sequence that fills space in a
highly uniform manner.

`p = sobolset(d)`

`p = sobolset(d,Name,Value)`

constructs a `p`

= sobolset(`d`

)`d`

-dimensional point set `p`

, which is
a `sobolset`

object with default property settings. The input argument
`d`

corresponds to the `Dimensions`

property of `p`

.

sets properties of
`p`

= sobolset(`d`

,`Name,Value`

)`p`

using one or more name-value pair arguments. Enclose each
property name in quotes. For example, `sobolset(5,'Leap',2)`

creates a
five-dimensional point set from the first point, fourth point, seventh point, tenth point,
and so on.

The returned object `p`

encapsulates properties of a Sobol
quasirandom sequence. The point set is finite, with a length determined by the
`Skip`

and `Leap`

properties and by limits on the
size of the point set indices (maximum value of 2^{53}). Values of
the point set are generated whenever you access `p`

using `net`

or parenthesis indexing. Values are not stored within
`p`

.

`net` | Generate quasirandom point set |

`reduceDimensions` | Reduce dimensions of Sobol point set |

`scramble` | Scramble quasirandom point set |

You can also use the following MATLAB^{®} functions with a `sobolset`

object. The software treats the point
set object like a matrix of multidimensional points.

The

`Skip`

and`Leap`

properties are useful for parallel applications. For example, if you have a Parallel Computing Toolbox™ license, you can partition a sequence of points across*N*different workers by using the function`labindex`

. On each*n*th worker, set the`Skip`

property of the point set to*n*– 1 and the`Leap`

property to*N*– 1. The following code shows how to partition a sequence across three workers.Nworkers = 3; p = sobolset(10,'Leap',Nworkers-1); spmd(Nworkers) p.Skip = labindex - 1; % Compute something using points 1,4,7... % or points 2,5,8... or points 3,6,9... end

[1] Bratley, P., and B. L. Fox. “Algorithm 659 Implementing
Sobol's Quasirandom Sequence Generator.” *ACM Transactions on Mathematical
Software*. Vol. 14, No. 1, 1988, pp. 88–100.

[2] Hong, H. S., and F. J. Hickernell. “Algorithm 823:
Implementing Scrambled Digital Sequences.” *ACM Transactions on Mathematical
Software*. Vol. 29, No. 2, 2003, pp. 95–109.

[3] Joe, S., and F. Y. Kuo. “Remark on Algorithm 659:
Implementing Sobol's Quasirandom Sequence Generator.” *ACM Transactions on
Mathematical Software*. Vol. 29, No. 1, 2003, pp. 49–57.

[4] Kocis, L., and W. J. Whiten.
“Computational Investigations of Low-Discrepancy Sequences.” *ACM
Transactions on Mathematical Software*. Vol. 23, No. 2, 1997, pp.
266–294.

[5] Matousek, J. “On the L2-Discrepancy for Anchored
Boxes.” *Journal of Complexity*. Vol. 14, No. 4, 1998, pp.
527–556.