# sobolset

Sobol quasirandom point set

## Description

`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.

## Creation

### Description

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`

.

## Properties

## Object Functions

`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.

## Examples

## Tips

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`

(Parallel Computing Toolbox). 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

## Algorithms

## References

[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.

## Version History

**Introduced in R2008a**