theplu::yat::random::Gaussian Class Reference

Gaussian distribution. More...

#include <yat/random/random.h>

Inheritance diagram for theplu::yat::random::Gaussian:

theplu::yat::random::Continuous

List of all members.

Public Member Functions

 Gaussian (const double s=1, const double m=0)
 Constructor.
double operator() (void) const
double operator() (const double s) const
double operator() (const double s, const double m) const
void seed (unsigned long s) const
 Set the seed to s.
unsigned long seed_from_devurandom (void)
 Set the seed using the /dev/urandom device.

Protected Attributes

RNGrng_
 pointer to GSL random generator


Detailed Description

Gaussian distribution.

Class for generating a random number from a Gaussian distribution between zero and unity. Utilizes the Box-Muller algorithm, which needs two calls to random generator.

Distribution function $ f(x) = \frac{1}{\sqrt{2\pi\sigma^2}}\exp(-\frac{(x-\mu)^2}{2\sigma^2}) $
Expectation value: $ \mu $
Variance: $ \sigma^2 $


Constructor & Destructor Documentation

theplu::yat::random::Gaussian::Gaussian ( const double  s = 1,
const double  m = 0 
) [explicit]

Constructor.

Parameters:
s is the standard deviation $ \sigma $ of distribution
m is the expectation value $ \mu $ of the distribution


Member Function Documentation

double theplu::yat::random::Gaussian::operator() ( void   )  const [virtual]

Returns:
A random Gaussian number

Implements theplu::yat::random::Continuous.

double theplu::yat::random::Gaussian::operator() ( const double  s  )  const

Returns:
A random Gaussian number with standard deviation s and expectation value 0.
Note:
this operator ignores parameters given in Constructor

double theplu::yat::random::Gaussian::operator() ( const double  s,
const double  m 
) const

Returns:
A random Gaussian number with standard deviation s and expectation value m.
Note:
this operator ignores parameters given in Constructor

void theplu::yat::random::Continuous::seed ( unsigned long  s  )  const [inherited]

Set the seed to s.

Set the seed to s in the underlying rng. If s is zero, a default value from the rng's original implementation is used (cf. GSL documentation).

See also:
seed_from_devurandom, RNG::seed_from_devurandom, RNG::seed

unsigned long theplu::yat::random::Continuous::seed_from_devurandom ( void   )  [inline, inherited]

Set the seed using the /dev/urandom device.

Returns:
The seed acquired from /dev/urandom.
See also:
seed, RNG::seed_from_devurandom, RNG::seed


The documentation for this class was generated from the following file:

Generated on Tue Jan 18 02:21:18 2011 for yat by  doxygen 1.5.5