Path: | rdoc/qrng.rdoc |
Last Update: | Sun Nov 14 14:53:48 -0800 2010 |
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:
This returns a GSL::QRng object, a quasi-random sequence generator of type T and dimension d.
This reinitializes the generator to its starting point.
This calculate the next point x from the sequence generator. Here x is an instance of the GSL::Vector class. The space available for x must match the dimension of the generator. The point x will 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
Returns the name of the generator self.
Return a newly created generator which is an exact copy of the generator self.
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,
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.
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.
(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.