Procedure: Generate a Weyl design¶
Description and Background¶
A Weyl design (also known as a Richtmyer design) is one of a number of non-random space-filling designs suitable for defining a set of points in the simulator input space for creating a training sample.
The \(n\) point Weyl design in \(p\) dimensions is generated by a generator set \(g=(g_1,\ldots,g_p)\) of irrational numbers. See the “Additional Comments” below for discussion of the choice of generators.
Inputs¶
- Number of dimensions \(p\)
- Number of points desired \(n\)
- Set of irrational generators \(g_1,\ldots,g_p\)
Outputs¶
- Weyl design \(D = \{x_1, x_2, \ldots, x_n\}\)
Procedure¶
For \(j=0,\ldots,n-1\), generate points as
Note that the operator “mod 1” here has the effect of returning the fractional part of each number. For instance, if \(j=7\) and \(g_1 = \sqrt{2} = 1.414\ldots\), then
and so
Additional Comments¶
A potential problem with Weyl designs is the difficulty in finding suitable generators. One suggestion is to let \(g_i\) be the square root of the \(i\)-th prime, but this may not work well when \(p\) is large.
References¶
The following is a link to the repository for Matlab code for the Weyl sequence in up to 100 dimensions: CPWeylSequence.m (disclaimer).