They were first introduced by the Russian mathematician Ilya M. Sobol’ (Илья Меерович Соболь) in 1967.
[1] These sequences use a base of two to form successively finer uniform partitions of the unit interval and then reorder the coordinates in each dimension.
The original motivation of Sobol’ was to construct a sequence xn in Is so that and the convergence be as fast as possible.
It is more or less clear that for the sum to converge towards the integral, the points xn should fill Is minimizing the holes.
Another good property would be that the projections of xn on a lower-dimensional face of Is leave very few holes as well.
Hence the homogeneous filling of Is does not qualify because in lower dimensions many points will be at the same place, therefore useless for the integral estimation.
To introduce them, define first an elementary s-interval in base b a subset of Is of the form where aj and dj are non-negative integers, and
A more efficient Gray code implementation was proposed by Antonov and Saleev.
[3] As for the generation of Sobol’ numbers, they are clearly aided by the use of Gray code
Suppose we have already generated all the Sobol’ sequence draws up to n − 1 and kept in memory the values xn−1,j for all the required dimensions.
Since the Gray code G(n) differs from that of the preceding one G(n − 1) by just a single, say the k-th, bit (which is a rightmost zero bit of n − 1), all that needs to be done is a single XOR operation for each dimension in order to propagate all of the xn−1 to xn, i.e. Sobol’ introduced additional uniformity conditions known as property A and A’.
To construct a Sobol’ sequence, a set of direction numbers vi,j needs to be selected.
[note 1] Therefore, it is possible to receive different realisations of the Sobol’ sequence for selected dimensions.
A bad selection of initial numbers can considerably reduce the efficiency of Sobol’ sequences when used for computation.
However, such a sequence fails the test for Property A and A’ even for low dimensions and hence this initialisation is bad.
[7] Peter Jäckel provides initialisation numbers up to dimension 32 in his book "Monte Carlo methods in finance".
[14] Commercial Sobol’ sequence generators are available within, for example, the NAG Library.
MATLAB [18] contains Sobol' sequences generators up to dimension 1111 as part of its Statistics Toolbox.