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 253). 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 nth 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.