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 Dec 10 2024 04:49:37 for IT++ by Doxygen 1.12.0