IBSimu
1.0.4
|
Quasi random number generator for N dimensions. More...
#include <qrandom.hpp>
Public Member Functions | |
QRandom (int n) | |
Constructor for QRNG in N independent dimensions. | |
~QRandom () | |
Destructor. | |
virtual void | get_gaussian (double *x) |
Get gaussian random numbers. | |
virtual void | get_part_gaussian (bool *gaussian, double *x) |
Get uniform and gaussian random numbers. | |
virtual void | get (double *x) |
Get uniform random numbers. |
Quasi random number generator for N dimensions.
This QRNG can produce quasi random numbers in N independent dimensions using the Sobol sequence from GSL library. QRNG includes functions to return uniformly distributed numbers between 0 and 1 and numbers from a gaussian distribution.
QRandom::QRandom | ( | int | n | ) |
Constructor for QRNG in N independent dimensions.
QRandom::~QRandom | ( | ) |
Destructor.
virtual void QRandom::get | ( | double * | x | ) | [virtual] |
Get uniform random numbers.
Get next sampling from quasi random number generator to x. Array x must have space for N numbers.
Implements Random.
virtual void QRandom::get_gaussian | ( | double * | x | ) | [virtual] |
Get gaussian random numbers.
Get next sampling from gaussian quasi random number generator to x with standard deviation of 1. Array x must have space for N numbers.
Implements Random.
virtual void QRandom::get_part_gaussian | ( | bool * | gaussian, |
double * | x | ||
) | [virtual] |
Get uniform and gaussian random numbers.
Get next sampling from quasi random number generator to x with dimensions marked (to true) in list gaussian mapped to gaussian distribution with standard deviation of 1. Rest of the dimensions are linear. Array x must have space for N numbers.
Implements Random.