IT++ Logo
Classes | Typedefs | Functions
Random Number Generation
Base Module

Classes

class  itpp::Bernoulli_RNG
 Bernoulli distribution. More...
class  itpp::I_Uniform_RNG
 Integer uniform distributionExample: Generation of random uniformly distributed integers in the interval [0,10]. More...
class  itpp::Uniform_RNG
 Uniform distribution. More...
class  itpp::Exponential_RNG
 Exponential distribution. More...
class  itpp::Normal_RNG
 Normal distributionNormal (Gaussian) random variables, using a simplified Ziggurat method. More...
class  itpp::Gamma_RNG
 Gamma distributionGenerate samples from Gamma(alpha,beta) density, according to the following equation:

\[ x \sim \Gamma(\alpha,\beta) = \frac{\beta^\alpha}{\Gamma(\alpha)}x^{\alpha-1} \exp(-\beta x) \]

. More...

class  itpp::Laplace_RNG
 Laplacian distribution. More...
class  itpp::Complex_Normal_RNG
 A Complex Normal Source. More...
class  itpp::AR1_Normal_RNG
 Filtered normal distribution. More...
class  itpp::Weibull_RNG
 Weibull distribution. More...
class  itpp::Rayleigh_RNG
 Rayleigh distribution. More...
class  itpp::Rice_RNG
 Rice distribution. More...
class  itpp::DSFMT< MEXP, POS1, SL1, MSK1, MSK2, MSK32_1, MSK32_2, MSK32_3, MSK32_4, FIX1, FIX2, PCV1, PCV2 >
 C++ implementation of dSFMT random number generatorThe DSFMT class implements parts of the Double precision SIMD-oriented Fast Mersenne Twister (dSFM) random number generator. DSFMT directly generates double precision floating point random numbers, which have the IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985) format. DSFMT does not support integer outputs. More...

Typedefs

typedef DSFMT_19937_RNG itpp::Random_Generator
 Base class for random (stochastic) sources.Random_Generator is a typedef of DSFMT class specialization using 19937 generation period.
typedef Normal_RNG itpp::Gauss_RNG
 Gauss_RNG is the same as Normal Source.
typedef AR1_Normal_RNG itpp::AR1_Gauss_RNG
 AR1_Gauss_RNG is the same as AR1_Normal_RNG.

Functions

void itpp::RNG_reset (unsigned int seed)
 Set the seed of the Global Random Number Generator.
void itpp::RNG_reset ()
 Set the seed of the Global Random Number Generator to the same as last time.
void itpp::RNG_randomize ()
 Set a random seed for the Global Random Number Generator.
void itpp::RNG_get_state (ivec &state)
 Save the current state of the generator in a vector.
void itpp::RNG_set_state (const ivec &state)
 Resume the state of the generator from previously saved vector.
bin itpp::randb (void)
 Generates a random bit (equally likely 0s and 1s)
void itpp::randb (int size, bvec &out)
 Generates a random bit vector (equally likely 0s and 1s)
bvec itpp::randb (int size)
 Generates a random bit vector (equally likely 0s and 1s)
void itpp::randb (int rows, int cols, bmat &out)
 Generates a random bit matrix (equally likely 0s and 1s)
bmat itpp::randb (int rows, int cols)
 Generates a random bit matrix (equally likely 0s and 1s)
double itpp::randu (void)
 Generates a random uniform (0,1) number.
void itpp::randu (int size, vec &out)
 Generates a random uniform (0,1) vector.
vec itpp::randu (int size)
 Generates a random uniform (0,1) vector.
void itpp::randu (int rows, int cols, mat &out)
 Generates a random uniform (0,1) matrix.
mat itpp::randu (int rows, int cols)
 Generates a random uniform (0,1) matrix.
int itpp::randi (int low, int high)
 Generates a random integer in the interval [low,high].
ivec itpp::randi (int size, int low, int high)
 Generates a random ivec with elements in the interval [low,high].
imat itpp::randi (int rows, int cols, int low, int high)
 Generates a random imat with elements in the interval [low,high].
vec itpp::randray (int size, double sigma=1.0)
 Generates a random Rayleigh vector.
vec itpp::randrice (int size, double sigma=1.0, double s=1.0)
 Generates a random Rice vector (See J.G. Poakis, "Digital Communications, 3rd ed." p.47)
vec itpp::randexp (int size, double lambda=1.0)
 Generates a random complex Gaussian vector.
double itpp::randn (void)
 Generates a random Gaussian (0,1) variable.
void itpp::randn (int size, vec &out)
 Generates a random Gaussian (0,1) vector.
vec itpp::randn (int size)
 Generates a random Gaussian (0,1) vector.
void itpp::randn (int rows, int cols, mat &out)
 Generates a random Gaussian (0,1) matrix.
mat itpp::randn (int rows, int cols)
 Generates a random Gaussian (0,1) matrix.
std::complex< double > itpp::randn_c (void)
 Generates a random complex Gaussian (0,1) variable.
void itpp::randn_c (int size, cvec &out)
 Generates a random complex Gaussian (0,1) vector.
cvec itpp::randn_c (int size)
 Generates a random complex Gaussian (0,1) vector.
void itpp::randn_c (int rows, int cols, cmat &out)
 Generates a random complex Gaussian (0,1) matrix.
cmat itpp::randn_c (int rows, int cols)
 Generates a random complex Gaussian (0,1) matrix.

Detailed Description

end of algebra group


Typedef Documentation

typedef DSFMT_19937_RNG itpp::Random_Generator

Base class for random (stochastic) sources.Random_Generator is a typedef of DSFMT class specialization using 19937 generation period.

See also:
DSFMT

Definition at line 50 of file random.h.


Function Documentation

std::complex<double> itpp::randn_c ( void  ) [inline]

Generates a random complex Gaussian (0,1) variable.

The real and imaginary parts are independent and have variances equal to 0.5

Definition at line 641 of file random.h.

References itpp::Complex_Normal_RNG::sample().

Referenced by itpp::FIR_Fading_Generator::generate(), itpp::Independent_Fading_Generator::generate(), itpp::IFFT_Fading_Generator::generate_Jakes(), itpp::FIR_Fading_Generator::init(), itpp::Static_Fading_Generator::init(), and itpp::randn_c().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SourceForge Logo

Generated on Wed Jul 27 2011 16:27:06 for IT++ by Doxygen 1.7.4