Provided by: tcllib_1.21+dfsg-1_all bug

NAME

       simulation::random - Pseudo-random number generators

SYNOPSIS

       package require Tcl  ?8.4?

       package require simulation::random  0.4

       ::simulation::random::prng_Bernoulli p

       ::simulation::random::prng_Discrete n

       ::simulation::random::prng_Poisson lambda

       ::simulation::random::prng_Uniform min max

       ::simulation::random::prng_Triangular min max

       ::simulation::random::prng_SymmTriangular min max

       ::simulation::random::prng_Exponential min mean

       ::simulation::random::prng_Normal mean stdev

       ::simulation::random::prng_Pareto min steep

       ::simulation::random::prng_Gumbel min f

       ::simulation::random::prng_chiSquared df

       ::simulation::random::prng_Disk rad

       ::simulation::random::prng_Sphere rad

       ::simulation::random::prng_Ball rad

       ::simulation::random::prng_Rectangle length width

       ::simulation::random::prng_Block length width depth

_________________________________________________________________________________________________

DESCRIPTION

       This  package  consists of commands to generate pseudo-random number generators. These new
       commands deliver

       •      numbers that are distributed normally, uniformly, according to a Pareto  or  Gumbel
              distribution and so on

       •      coordinates of points uniformly spread inside a sphere or a rectangle

       For example:

                  set p [::simulation::random::prng_Normal -1.0 10.0]

       produces  a new command (whose name is stored in the variable "p") that generates normally
       distributed numbers with a mean of -1.0 and a standard deviation of 10.0.

PROCEDURES

       The package defines the following public procedures for discrete distributions:

       ::simulation::random::prng_Bernoulli p
              Create a command (PRNG) that generates numbers with a Bernoulli  distribution:  the
              value is either 1 or 0, with a chance p to be 1

              float p
                     Chance the outcome is 1

       ::simulation::random::prng_Discrete n
              Create a command (PRNG) that generates numbers 0 to n-1 with equal probability.

              int n  Number of different values (ranging from 0 to n-1)

       ::simulation::random::prng_Poisson lambda
              Create   a   command  (PRNG)  that  generates  numbers  according  to  the  Poisson
              distribution.

              float lambda
                     Mean number per time interval

       The package defines the following public procedures for continuous distributions:

       ::simulation::random::prng_Uniform min max
              Create a command (PRNG) that generates uniformly distributed numbers between  "min"
              and "max".

              float min
                     Minimum number that will be generated

              float max
                     Maximum number that will be generated

       ::simulation::random::prng_Triangular min max
              Create  a  command  (PRNG)  that generates triangularly distributed numbers between
              "min" and "max". If the argument min is lower than the argument max,  then  smaller
              values  have  higher  probability and vice versa. In the first case the probability
              density function is of the form f(x) = 2(1-x) and the other case it is of the  form
              f(x) = 2x.

              float min
                     Minimum number that will be generated

              float max
                     Maximum number that will be generated

       ::simulation::random::prng_SymmTriangular min max
              Create a command (PRNG) that generates numbers distributed according to a symmetric
              triangle around the mean of "min" and "max".

              float min
                     Minimum number that will be generated

              float max
                     Maximum number that will be generated

       ::simulation::random::prng_Exponential min mean
              Create a command (PRNG) that generates exponentially  distributed  numbers  with  a
              given minimum value and a given mean value.

              float min
                     Minimum number that will be generated

              float mean
                     Mean value for the numbers

       ::simulation::random::prng_Normal mean stdev
              Create  a  command  (PRNG) that generates normally distributed numbers with a given
              mean value and a given standard deviation.

              float mean
                     Mean value for the numbers

              float stdev
                     Standard deviation

       ::simulation::random::prng_Pareto min steep
              Create a command (PRNG) that generates numbers distributed according to Pareto with
              a given minimum value and a given distribution steepness.

              float min
                     Minimum number that will be generated

              float steep
                     Steepness of the distribution

       ::simulation::random::prng_Gumbel min f
              Create a command (PRNG) that generates numbers distributed according to Gumbel with
              a given minimum value and a given scale factor. The  probability  density  function
              is:

                   P(v) = exp( -exp(f*(v-min)))

              float min
                     Minimum number that will be generated

              float f
                     Scale factor for the values

       ::simulation::random::prng_chiSquared df
              Create  a  command  (PRNG) that generates numbers distributed according to the chi-
              squared distribution with df degrees of freedom. The mean is  0  and  the  standard
              deviation is 1.

              float df
                     Degrees of freedom

       The package defines the following public procedures for random point sets:

       ::simulation::random::prng_Disk rad
              Create  a  command  (PRNG)  that  generates  (x,y)-coordinates for points uniformly
              spread over a disk of given radius.

              float rad
                     Radius of the disk

       ::simulation::random::prng_Sphere rad
              Create a command (PRNG) that generates  (x,y,z)-coordinates  for  points  uniformly
              spread over the surface of a sphere of given radius.

              float rad
                     Radius of the disk

       ::simulation::random::prng_Ball rad
              Create  a  command  (PRNG)  that generates (x,y,z)-coordinates for points uniformly
              spread within a ball of given radius.

              float rad
                     Radius of the ball

       ::simulation::random::prng_Rectangle length width
              Create a command (PRNG)  that  generates  (x,y)-coordinates  for  points  uniformly
              spread over a rectangle.

              float length
                     Length of the rectangle (x-direction)

              float width
                     Width of the rectangle (y-direction)

       ::simulation::random::prng_Block length width depth
              Create  a  command  (PRNG)  that generates (x,y,z)-coordinates for points uniformly
              spread over a block

              float length
                     Length of the block (x-direction)

              float width
                     Width of the block (y-direction)

              float depth
                     Depth of the block (z-direction)

KEYWORDS

       math, random numbers, simulation, statistical distribution

CATEGORY

       Mathematics

COPYRIGHT

       Copyright (c) 2004 Arjen Markus <arjenmarkus@users.sourceforge.net>