IT++ Logo
Public Member Functions | List of all members
itpp::Normal_RNG Class Reference

Normal distribution. More...

#include <itpp/base/random.h>

Public Member Functions

 Normal_RNG (double meanval, double variance)
 Constructor. Set mean and variance. More...
 
 Normal_RNG ()
 Constructor. Set mean and variance. More...
 
void setup (double meanval, double variance)
 Set mean, and variance. More...
 
void get_setup (double &meanval, double &variance) const
 Get mean and variance. More...
 
double operator() ()
 Get one sample. More...
 
vec operator() (int n)
 Get a sample vector. More...
 
mat operator() (int h, int w)
 Get a sample matrix. More...
 
double sample ()
 Get a Normal distributed (0,1) sample. More...
 
void sample_vector (int size, vec &out)
 Get a Normal distributed (0,1) vector. More...
 
void sample_matrix (int rows, int cols, mat &out)
 Get a Normal distributed (0,1) matrix. More...
 

Detailed Description

Normal distribution.

Normal (Gaussian) random variables, using a simplified Ziggurat method.

For details see the following arcticle: George Marsaglia, Wai Wan Tsang, "The Ziggurat Method for Generating Random Variables", Journal of Statistical Software, vol. 5 (2000), no. 8

This implementation is based on the generator written by Jochen Voss found at http://seehuhn.de/comp/ziggurat/, which is also included in the GSL library (randlist/gauss.c).

Definition at line 440 of file random.h.

Constructor & Destructor Documentation

◆ Normal_RNG() [1/2]

itpp::Normal_RNG::Normal_RNG ( double  meanval,
double  variance 
)
inline

Constructor. Set mean and variance.

Definition at line 444 of file random.h.

◆ Normal_RNG() [2/2]

itpp::Normal_RNG::Normal_RNG ( )
inline

Constructor. Set mean and variance.

Definition at line 447 of file random.h.

Member Function Documentation

◆ setup()

void itpp::Normal_RNG::setup ( double  meanval,
double  variance 
)
inline

Set mean, and variance.

Definition at line 449 of file random.h.

References itpp::mean(), itpp::sqrt(), and itpp::variance().

◆ get_setup()

void itpp::Normal_RNG::get_setup ( double &  meanval,
double &  variance 
) const

Get mean and variance.

Definition at line 569 of file random.cpp.

References itpp::variance().

◆ operator()() [1/3]

double itpp::Normal_RNG::operator() ( )
inline

Get one sample.

Definition at line 454 of file random.h.

References itpp::mean().

◆ operator()() [2/3]

vec itpp::Normal_RNG::operator() ( int  n)
inline

Get a sample vector.

Definition at line 456 of file random.h.

References itpp::mean().

◆ operator()() [3/3]

mat itpp::Normal_RNG::operator() ( int  h,
int  w 
)
inline

Get a sample matrix.

Definition at line 464 of file random.h.

References itpp::mean().

◆ sample()

double itpp::Normal_RNG::sample ( )

Get a Normal distributed (0,1) sample.

Definition at line 690 of file random.cpp.

References itpp::exp(), itpp::Random_Generator::genrand_close_open(), itpp::Random_Generator::genrand_uint32(), itpp::log(), and itpp::sign().

Referenced by itpp::randn(), and itpp::Gamma_RNG::sample().

◆ sample_vector()

void itpp::Normal_RNG::sample_vector ( int  size,
vec &  out 
)
inline

Get a Normal distributed (0,1) vector.

Definition at line 475 of file random.h.

References itpp::size().

Referenced by itpp::AWGN_Channel::operator()(), and itpp::randn().

◆ sample_matrix()

void itpp::Normal_RNG::sample_matrix ( int  rows,
int  cols,
mat &  out 
)
inline

Get a Normal distributed (0,1) matrix.

Definition at line 481 of file random.h.

Referenced by itpp::randn().


The documentation for this class was generated from the following files:
SourceForge Logo

Generated on Sun Jun 5 2022 21:26:42 for IT++ by Doxygen 1.9.3