Google

PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

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

  • GSL_RNG_19937
  • GSL_RNG_RANLXS0
  • GSL_RNG_RANLXS1
  • GSL_RNG_RANLXS2
  • ...

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

require 'gsl'

r = GSL_Rng.new(GSL_RNG_TAUS, 1)
r2 = GSL_Rng.new(GSL_RNG_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).

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.