Initialize the Sobol sequence.
[ v , maxcol , lastq , count , recipd ] = lowdisc_sobolstart ( dim_num )
a 1-by-1 matrix of floating point integers, the current number of dimensions. We expect to have 1<= dim_num<= 40, since no more that 40 polynomials are stored in the database.
a dimmax-by-logmax matrix of floating point integers, table of direction numbers. We have dimmax = 40
and logmax = 30
. Each row corresponds to a primitive polynomial. The numbers in v
are actually binary fractions.
a 1-by-1 matrix of floating point integers, number of bits in atmost
a dim_num-by-1 matrix of floating point integers, the numerators of the last vector generated
a 1-by-1 matrix of floating point integers, the index of the element in the sequence
a 1-by-1 matrix of doubles, (1/denominator) for the numerators lastq
Returns the initial data for use in a Sobol sequence.
In the algorithm, the variable atmost is the maximum number of calls to the generator. We have
atmost = 2^logmax - 1
with logmax = 30
.
This leads to atmost = 1.074 x 10^9.
This routine is designed to be used with the lowdisc_sobolnext
and lowdisc_sobolskip
functions.