USML
|
Singleton class for integrating the Boost Random Number Library with uBLAS vectors and matrices.
Implemented as a singleton to ensure that all random numbers are created from the same pseudo-random number generation pool. This is designed to prevent un-intentional correlation between random series in different parts of the application.
Because all of the methods are declared static, the developer never actually creates a class of this type.
typedef boost::kreutzer1986 random_type |
Defines the class for the basic random number generator.
This implementation combines a linear congruential generator with a shuffling algorithm.
|
inlineprivate |
Don't allow users to construct this class.
|
inlinestaticprivate |
Quickly fill a vector with random numbers.
Designed to handle both double and complex<double> vectors.
result | Vector of random numbers. |
rand | Random number generator. |
|
inlinestaticprivate |
Quickly fill a matrix with random numbers.
Designed to handle both double and complex<double> matrices.
result | Matrix of random numbers. |
rand | Random number generator. |
|
inlinestatic |
Generate a single random number from a Gaussian distribution.
|
inlinestatic |
Generate a vector of random numbers from a Gaussian distribution.
N | Length of the output vector. |
|
inlinestatic |
Generate a matrix of random numbers from a Gaussian distribution.
N | Rows of the output matrix. |
M | Columns of the output matrix. |
|
inlinestatic |
Generate a vector of complex random numbers from a Gaussian distribution.
N | Length of the output vector. |
|
inlinestatic |
Generate a matrix of complex random numbers from a Gaussian distribution.
N | Rows of the output matrix. |
M | Columns of the output matrix. |
|
inlinestatic |
Initialize the random number generator with a specific seed.
This allows the system to re-create random signals from run-to-run.
value | New seed for the random number generator. |
|
inlinestatic |
Generate a single random number from a Uniform distribution.
|
inlinestatic |
Generate a vector of random numbers from a Uniform distribution.
N | Length of the output vector. |
|
inlinestatic |
Generate a matrix of random numbers from a Uniform distribution.
N | Rows of the output matrix. |
M | Columns of the output matrix. |
|
staticprivate |
variate_generator<> requires reference to abstract distribution.
|
staticprivate |
Gaussian random number generator with sigma = 1.
Gaussian ransom number generator with sigma = 1.
|
staticprivate |
Master generator that underlies all distributions.
Seeded with the current system time at initialization.
|
staticprivate |
Uniform random number generator for the range [0,1).