...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
sobol
// In header: <boost/random/sobol.hpp> typedef sobol_engine< boost::uint_least64_t, 64u, default_sobol_table > sobol;
Important | |
---|---|
This specialization of sobol_engine supports up to 3667 dimensions. |
Data on the primitive binary polynomials a
and the corresponding starting values m
for Sobol sequences in up to 21201 dimensions was taken from
S. Joe and F. Y. Kuo, Constructing Sobol sequences with better two-dimensional projections, SIAM J. Sci. Comput. 30, 2635-2654 (2008).
See the original tables up to dimension 21201: https://web.archive.org/web/20170802022909/http://web.maths.unsw.edu.au/~fkuo/sobol/new-joe-kuo-6.21201
For practical reasons the default table uses only the subset of binary polynomials a
< 216.
However, it is possible to provide your own table to sobol_engine should the default one be insufficient.