Random Number Generation

GSL::Rng class

Class Method

GSL::Rng.new([rng_type, seed])

This method returns a GSL::Rng object of a random number generator of type rng_type with a seed seed. These two arguments can be omitted, and the generator 'gsl_rng_mt19937' and a seed 0 are used as defaults. GSL provides a number of types of random number generator, one can choose one with a constant integer GSL::RNG_xxx, as

See GSL manual for the complete list. This demonstrates how to use this class,

require 'gsl'

r = GSL::Rng.new(GSL::Random::TAUS, 1)
r2 = GSL::Rng.new(GSL::Random::RAN0, 2)
p r.get                 <- get an integer
p r2.uniform            <- get a float of [0, 1)

A generator of the type gsl_rng_taus is created with a seed 1. The method get returns a random integer. The methods uniform returns a floating number uniformly distributed in the range [0, 1).

GSL::Rng.env_setup()

Instance methods

Generator Initialization

GSL::Rng#set(s)
This method initializes the random number generator with a given seed s.

Generate a random number

GSL::Rng#get
This returns a random integer from the reciever generator.
GSL::Rng#uniform
This method returns a double precision floating point number uniformly distributed in the range [0,1).
GSL::Rng#uniform_pos
This returns a positive double precision floating point number uniformly distributed in the range (0,1), excluding both 0.0 and 1.0.
GSL::Rng#uniform_int(n)
This method returns a random integer from 0 to n-1 inclusive.

Generator Properties

GSL::Rng#name
This method returns a Sting object of the name of the generator.
GSL::Rng#max
GSL::Rng#min
These method return the largest/smallest value that the method get can return.

back