SOBOL_DATASET\
Generate Sobol Datasets {#sobol_dataset-generate-sobol-datasets align=”center”}
=======================
SOBOL_DATASET is a C++ program which creates a Sobol dataset.
Usage: {#usage align=”center”}
sobol_dataset m n skip
where
- m is the spatial dimension.
- n is the number of points to generate;
- skip is the initial number of points to skip over. The value of
skip is used to allow the sequence to “warm up”. One common
strategy is to set skip to the smallest power of 2 which is equal
to or greater than n.
The data is written to the file sobol_m_n.txt.
Licensing: {#licensing align=”center”}
The computer code and data files described and made available on this
web page are distributed under the GNU LGPL
license.
Languages: {#languages align=”center”}
SOBOL_DATASET is available in a C++
version and a
FORTRAN90 version and a
MATLAB version.
FAURE_DATASET, a C++
program which creates a Faure quasirandom dataset;
GRID_DATASET, a C++
program which creates a grid sequence and writes it to a file.
LATIN_CENTER_DATASET,
a C++ program which creates a Latin Center Hypercube dataset;
LATIN_EDGE_DATASET,
a C++ program which creates a Latin Edge Hypercube dataset;
LATIN_RANDOM_DATASET,
a C++ program which creates a Latin Random Hypercube dataset;
NIEDERREITER2_DATASET,
a C++ program which creates a Niederreiter quasirandom dataset with base
2;
NORMAL_DATASET, a
C++ program which generates a dataset of multivariate normal
pseudorandom values and writes them to a file.
SOBOL, a dataset directory which
contains sample Sobol datasets created by SOBOL_DATASET.
SOBOL, a C++ library which computes
elements of a Sobol quasirandom sequence.
UNIFORM_DATASET,
a C++ program which generates a dataset of multivariate uniform
pseudorandom values and writes them to a file.
VAN_DER_CORPUT_DATASET,
a C++ program which creates a van der Corput quasirandom sequence and
writes it to a file.
Reference: {#reference align=”center”}
- IA Antonov, VM Saleev,\
An Economic Method of Computing LP Tau-Sequences,\
USSR Computational Mathematics and Mathematical Physics,\
Volume 19, 1980, pages 252 - 256.
- Paul Bratley, Bennett Fox,\
Algorithm 659: Implementing Sobol’s Quasirandom Sequence Generator,\
ACM Transactions on Mathematical Software,\
Volume 14, Number 1, pages 88-100, 1988.
- Paul Bratley, Bennett Fox, Linus Schrage,\
A Guide to Simulation,\
Springer Verlag, pages 201-202, 1983.
- Paul Bratley, Bennett Fox, Harald Niederreiter,\
Implementation and Tests of Low Discrepancy Sequences,\
ACM Transactions on Modeling and Computer Simulation,\
Volume 2, Number 3, pages 195-213, 1992.
- Bennett Fox,\
Algorithm 647: Implementation and Relative Efficiency of Quasirandom
Sequence Generators,\
ACM Transactions on Mathematical Software,\
Volume 12, Number 4, pages 362-376, 1986.
- Harald Niederreiter,\
Random Number Generation and quasi-Monte Carlo Methods,\
SIAM, 1992.
- William Press, Brian Flannery, Saul Teukolsky, William Vetterling,\
Numerical Recipes: The Art of Scientific Computing,\
Cambridge University Press.
- Ilya Sobol,\
USSR Computational Mathematics and Mathematical Physics,\
Volume 16, pages 236-242, 1977.
- Ilya Sobol, Levitan,\
The Production of Points Uniformly Distributed in a Multidimensional
Cube (in Russian),\
Preprint IPM Akad. Nauk SSSR,\
Number 40, Moscow 1976.
Source Code: {#source-code align=”center”}
Examples and Tests: {#examples-and-tests align=”center”}
- sobol_02_00100.txt, the Sobol dataset of
dimension 2, computing 100 points, after skipping 128 points.
List of Routines: {#list-of-routines align=”center”}
- MAIN is the main program for SOBOL_DATASET.
- I8_BIT_HI1 returns the position of the high 1 bit base 2 in an
integer.
- I8_BIT_LO0 returns the position of the low 0 bit base 2 in an
integer.
- I8_SOBOL generates a new quasirandom Sobol vector with each
call.
- I8_SOBOL_GENERATE generates a Sobol dataset.
- R8MAT_WRITE writes an R8MAT file.
- TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to the C++ source codes.
Last revised on 30 August 2005.