Normal distribution. More...
#include <itpp/base/random.h>
Public Member Functions | |
Normal_RNG (double meanval, double variance) | |
Constructor. Set mean and variance. | |
Normal_RNG () | |
Constructor. Set mean and variance. | |
void | setup (double meanval, double variance) |
Set mean, and variance. | |
void | get_setup (double &meanval, double &variance) const |
Get mean and variance. | |
double | operator() () |
Get one sample. | |
vec | operator() (int n) |
Get a sample vector. | |
mat | operator() (int h, int w) |
Get a sample matrix. | |
double | sample () |
Get a Normal distributed (0,1) sample. | |
void | sample_vector (int size, vec &out) |
Get a Normal distributed (0,1) vector. | |
void | sample_matrix (int rows, int cols, mat &out) |
Get a Normal distributed (0,1) matrix. | |
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).
|
inline |
Constructor. Set mean and variance.
Definition at line 444 of file random.h.
References itpp::mean(), itpp::sqrt(), and itpp::variance().
|
inline |
Constructor. Set mean and variance.
Definition at line 447 of file random.h.
References itpp::mean().
|
inline |
Set mean, and variance.
Definition at line 449 of file random.h.
References itpp::mean(), and itpp::variance().
void itpp::Normal_RNG::get_setup | ( | double & | meanval, |
double & | variance | ||
) | const |
|
inline |
|
inline |
|
inline |
double itpp::Normal_RNG::sample | ( | ) |
Get a Normal distributed (0,1) sample.
Definition at line 690 of file random.cpp.
References itpp::Random_Generator::genrand_close_open(), itpp::Random_Generator::genrand_uint32(), and itpp::sign().
Referenced by itpp::randn(), and itpp::Gamma_RNG::sample().
|
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().
|
inline |
Get a Normal distributed (0,1) matrix.
Definition at line 481 of file random.h.
Referenced by itpp::randn().
Generated on Tue Jan 24 2023 00:00:00 for IT++ by Doxygen 1.9.6