Main Content

Halton quasirandom point set

`haltonset`

is a quasirandom point set object that produces points
from the Halton sequence. The Halton sequence uses different prime bases in each dimension to
fill space in a highly uniform manner.

constructs a `p`

= haltonset(`d`

)`d`

-dimensional point set `p`

, which is
a `haltonset`

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

corresponds to the `Dimensions`

property of `p`

.

sets properties of
`p`

= haltonset(`d`

,`Name,Value`

)`p`

using one or more name-value pair arguments. Enclose each
property name in quotes. For example, `haltonset(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 Halton
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`

.

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

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`

(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 = haltonset(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] 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.