Returns favorable parameters for Faure sequences.
[nsim,skip,leap] = lowdisc_fauresuggest ( dim , base ) [nsim,skip,leap] = lowdisc_fauresuggest ( dim , base , nsimmin )
a floating point integer, the spatial dimension.
a floating point integer, the base used in Faure's sequence.
a floating point integer, the minimum required number of simulations. Default nsimmin = 1.
a floating point integer, the number of simulations to perform, with nsim >= nsimmin.
a floating point integer, the number of initial elements to skip in the sequence.
a floating point integer, the number of elements to ignore each time an element is generated.
This routine provides favorable parameters to be used with a Faure sequence.
We use suggestions from : "Algorithm 647: Implementation and Relative Efficiency of Quasirandom Sequence Generators", B. L. Fox, ACM Transactions on Mathematical Software, Volume 12, Number 4, pages 362-376, 1986.
The citation which governs the choice for the skip
parameter
is the following.
"For QS greater than a half-dozen or so, one sees that the Faure
sequence starts out as a series of points lying on slightly warped,
nearly parallel hyperplanes with several points unduly close to (0,0,...,0)
or (1,1,...,1). Our first two preliminary versions of the code initialized
NEXTN to 0 (following [5]) and to 1, both leading to terrible results
at s=20 and s=25. Deleting the first QS^4-2 terms, for example, eliminates these
effects because of the scrambling then generated by the weigted sums in Faure's
scheme."
With respect to the number of simulations nsim
,
the citation p. 647 is the following.
"Sobol' says (personal communication, 1985) that taking N equal to an integral
power of qs favors the generator Faure, apparently because then again D*(N)=O((log(N)^(s-1)) [...]."
And p. 374 :
"[...] otherwise, use Faure and check for stability at N equal to successive
powers of qs, starting at N = qs^3."
We return skip = b^4 - 2. We compute k = max( 3 , ceil(log(nsimmin)/log(b)) ) so that the number of simulations is greater than nsimmin. This ensures good equidistribution of at least the three dimensionnal projections of the sequence. We compute nsim = b^k. We return leap = 0.
We might also be interested by the experiments in :
"Computational investigations of low-discrepancy sequences", Kocis,
L. and Whiten, W. J. 1997. ACM Trans. Math. Softw. 23, 2 (Jun. 1997),
266-294. Especially p. 277.
The citation p. 277 is the following.
"Properties of the Faure sequence leaped were studied experimentally
using the Fox implementation for s = 40 with base b = 41 and
leaps 2 to 31. Observation of the projections of the points of the Faure
sequence leaped in two dimensional planes selected at random demonstrated
a considerable improvement on the original Faure sequence. Any value of the leap
(except L = b = 41) improved the Faure sequence. The best results
were achieved for leaps L = 5, 6, 12 to 17 and then around 30."
This suggestions are not implemented in lowdisc_fauresuggest
.