Quasi-Random Sequences¶ ↑
This chapter describes the quasi-random sequence generator
GSL::QRng of arbitrary dimensions. A quasi-random sequence
progressively covers a d-dimensional space with a set of points that are
uniformly distributed. Quasi-random sequences are also known as
low-discrepancy sequences. The quasi-random sequence generators use an
interface that is similar to the interface for random number generators.
Contents:
Quasi-random number generator initialization¶ ↑
-
GSL::QRng.alloc(T, d)
This returns a GSL::QRng object, a quasi-random sequence generator of type
Tand dimensiond.
-
GSL::QRng::init
This reinitializes the generator to its starting point.
Sampling from a quasi-random number generator¶ ↑
-
GSL::QRng::get(x)
This calculate the next point
xfrom the sequence generator. Herexis an instance of the GSL::Vector class. The space available forxmust match the dimension of the generator. The pointxwill lie in the range 0 < x_i < 1 for each x_i.This is used as
q = QRng.alloc(QRng::SOBOL, dim) v = Vector.alloc(dim) for i in 0..1024 do q.get(v) printf("%.5f %.5f\n", v[0], v[1]) end
Auxiliary quasi-random number generator functions¶ ↑
-
GSL::QRng::name
Returns the name of the generator
self.
-
GSL::QRng::size
Saving and resorting quasi-random number generator state¶ ↑
-
GSL::QRng::clone
-
GSL::QRng::duplicate
Return a newly created generator which is an exact copy of the generator
self.
Quasi-random number generator algorithms¶ ↑
In creating a generator by the method GSL::QRng.alloc(T, d),
the algorithm type T is given by a String or a Fixnum
constant. The following quasi-random sequence algorithms are available,
-
“
niederreiter_2” (String) -
GSL::QRng::NIEDERREITER_2(Fixnum)The generator of this type uses the algorithm described in Bratley, Fox, Niederreiter, ACM Trans. Model. Comp. Sim. 2, 195 (1992). It is valid up to 12 dimensions.
-
“
sobol” (String) -
GSL::QRng::SOBOL(Fixnum)This generator uses the Sobol sequence described in Antonov, Saleev, USSR Comput. Maths. Math. Phys. 19, 252 (1980). It is valid up to 40 dimensions.
-
“
halton” (String) -
GSL::QRng::HALTON(Fixnum) -
“
reversehalton” (String) -
GSL::QRng::REVERSEHALTON(Fixnum)(GSL-1.11 or later) These generators use the Halton and reverse Halton sequences described in J.H. Halton, Numerische Mathematik 2, 84-90 (1960) and B. Vandewoestyne and R. Cools Computational and Applied Mathematics 189, 1&2, 341-361 (2006). They are valid up to 1229 dimensions.