Dear Daniel,

the GNU Scientific Library (GSL) includes pseudo random number

generation

methods.

There is a Ruby binding for this library (Ruby-GSL).

Best regards,

Axel

Dear Daniel,

the GNU Scientific Library (GSL) includes pseudo random number

generation

methods.

There is a Ruby binding for this library (Ruby-GSL).

Best regards,

Axel

On 11/30/05, removed_email_address@domain.invalid removed_email_address@domain.invalid wrote:

the GNU Scientific Library (GSL) includes pseudo random number generation

methods.

There is a Ruby binding for this library (Ruby-GSL).

Just remember that the GSL is under the GNU GPL, which makes it

inappropriate for some applications.

-austin

On Nov 30, 2005, at 1:28 AM, removed_email_address@domain.invalid wrote:

generation

methods.

There is a Ruby binding for this library (Ruby-GSL).

Try this, if you don’t need high performance…

def rand_normal_float(mean = 0.0, variance = 1.0)

sum = 0.0

12.times { sum += Kernel.rand }

(variance.to_f * (sum - 6.0)) + mean.to_f

end

–Steve

Hi!

At Thu, 1 Dec 2005 01:01:39 +0900, Stephen W. wrote:

Try this, if you don’t need high performance…

def rand_normal_float(mean = 0.0, variance = 1.0)

## sum 12 random numbers uniformly distributed in [0,1]

sum = 0.0

12.times { sum += Kernel.rand }## adjust for mean and variance

(variance.to_f * (sum - 6.0)) + mean.to_f

end

My mathematical intuition says that the Gaussian distribution is

achieved as the limit of the above replacing 12 by N (and 6 by N/2)

and then computing the limit for N versus infinity. Without knowing

the quality of the approximation of using 12 in place of infinity the

approximation is of no practical value. Besides that summing up

pseudo-random numbers may decrease their randomness.

Josef ‘Jupp’ Schugt

Take a look at this website. Shouldn’t be hard at all to implement in

ruby.

http://www.taygeta.com/random/gaussian.html

_Kevin