To generate multidimensional quasi-random sequences with a uniform probability distribution.
Low discrepancy (quasi-random) sequences are used in numerical integration, simulation and optimization. Like pseudorandom numbers they are uniformly distributed but they are not statistically independent, rather they are designed to give more even distribution in multidimensional space (uniformity). Therefore they are often more efficient than pseudorandom numbers in multidimensional Monte–Carlo methods.
nag_quasi_random_uniform (g05yac) generates a set of points
with high uniformity in the
-dimensional unit cube
. One measure of the uniformity is the discrepancy which is defined as follows:
nag_quasi_random_uniform (g05yac) generates the low-discrepancy sequences proposed by Sobol, Faure and Niederreiter.
Bratley P and Fox B L (1988) Algorithm 659: implementing Sobol's quasirandom sequence generator ACM Trans. Math. Software 14(1) 88–100
Fox B L (1986) Algorithm 647: implementation and relative efficiency of quasirandom sequence generators ACM Trans. Math. Software 12(4) 362–376
Not applicable.
The maximum length of the generated sequences is
, this should be adequate for practical purposes. In the case of the Niederreiter generator nag_quasi_random_uniform (g05yac) jumps to the appropriate starting point, while for the Sobol generator it simply steps through the sequence. In consequence the Sobol generator with large values of
iskip will take a significant amount of time.
This example approximates the integral
where
is the number of dimensions.
None.