Logo ROOT  
Reference Guide
Random Classes

Pseudo-random numbers generator classes and for generation of random number distributions. These classes implement several pseudo-random number generators and method for generation of random numbers according to arbitrary distributions.

Modules

 QuasiRandom number generators and distributions
 Classes for generating QuasiRandom numbers and based on GSL.
 

Classes

class  ROOT::Math::DistSampler
 Interface class for generic sampling of a distribution, i.e. More...
 
class  ROOT::Math::GSLQRngNiederreiter2
 Niederreiter generator gsl_qrng_niederreiter_2 from here More...
 
class  ROOT::Math::GSLQRngSobol
 Sobol generator gsl_qrng_sobol from here More...
 
class  ROOT::Math::GSLQuasiRandomEngine
 GSLQuasiRandomEngine Base class for all GSL quasi random engines, normally user instantiate the derived classes which creates internally the generator and uses the class ROOT::Math::QuasiRandom. More...
 
class  ROOT::Math::GSLRandomEngine
 GSLRandomEngine Base class for all GSL random engines, normally user instantiate the derived classes which creates internally the generator. More...
 
class  ROOT::Math::GSLRngCMRG
 Combined multiple recursive generator (L'Ecuyer) see here More...
 
class  ROOT::Math::GSLRngGFSR4
 Lagged Fibonacci generator by Ziff see here More...
 
class  ROOT::Math::GSLRngMinStd
 MINSTD generator (Park and Miller) see here More...
 
class  ROOT::Math::GSLRngMixMax
 MixMax generator based on ROOT::Math::MixMaxEngine of N=240. More...
 
class  ROOT::Math::GSLRngMRG
 5-th order multiple recursive generator (L'Ecuyer, Blouin and Coutre) see here More...
 
class  ROOT::Math::GSLRngMT
 Mersenne-Twister generator gsl_rng_mt19937 from here More...
 
class  ROOT::Math::GSLRngRand
 BSD rand() generator gsl_rmg_rand from here More...
 
class  ROOT::Math::GSLRngRanLux
 Old Ranlux generator (James, Luscher) (default luxury level, p = 223) (This is eequivalent to TRandom1 with default luxury level) see here More...
 
class  ROOT::Math::GSLRngRanLuxD1
 Double precision (48 bits) version of Second generation of Ranlux generator with luxury level of 1 (It throws away 202 value for every 12 used) see here More...
 
class  ROOT::Math::GSLRngRanLuxD2
 Double precision (48 bits) version of Second generation of Ranlux generator with luxury level of 2 (It throws away 397 value for every 12 used) see here More...
 
class  ROOT::Math::GSLRngRanLuxS1
 Second generation of Ranlux generator for single precision with luxury level of 1 (It throws away 202 values for every 12 used) see here More...
 
class  ROOT::Math::GSLRngRanLuxS2
 Second generation of Ranlux generator for Single precision with luxury level of 2 (It throws away 397 value for every 12 used) see here More...
 
class  ROOT::Math::GSLRngRanMar
 RANMAR generator see here More...
 
class  ROOT::Math::GSLRngTaus
 Tausworthe generator by L'Ecuyer see here More...
 
class  ROOT::Math::MersenneTwisterEngine
 Random number generator class based on M. More...
 
class  ROOT::Math::MixMaxEngine< N, SkipNumber >
 MixMaxEngine is a wrapper class for the MIXMAX Random number generator. More...
 
class  ROOT::Math::Random< Engine >
 Documentation for the Random class. More...
 
class  ROOT::Math::RandomFunctions< EngineType, ROOT::Math::GSLRandomEngine >
 Specialized implementation of the Random functions based on the GSL library. More...
 
class  ROOT::Math::StdEngine< Generator >
 
class  TKDTree< Index, Value >
 Class implementing a kd-tree. More...
 
class  TRandom
 
class  TRandom1
 
class  TRandom2
 
class  TRandom3
 

Typedefs

typedef TRandomEngine ROOT::Math::DefaultEngineType
 Documentation for the RandomFunction class. More...
 
typedef TRandomGen< ROOT::Math::MixMaxEngine< 240, 0 > > TRandomMixMax
 
typedef TRandomGen< ROOT::Math::MixMaxEngine< 17, 0 > > TRandomMixMax17
 
typedef TRandomGen< ROOT::Math::MixMaxEngine< 256, 2 > > TRandomMixMax256
 
typedef TRandomGen< ROOT::Math::StdEngine< std::mt19937_64 > > TRandomMT64
 
typedef TRandomGen< ROOT::Math::StdEngine< std::ranlux48 > > TRandomRanlux48
 

Typedef Documentation

◆ DefaultEngineType

Documentation for the RandomFunction class.

Definition at line 58 of file RandomFunctions.h.

◆ TRandomMixMax

MIXMAX generator based on a state of N=240.
This generator is described in this paper:

K. Savvidy and G. Savvidy, Spectrum and Entropy of C-systems. MIXMAX random number generator, Chaos, Solitons & Fractals, Volume 91, (2016) pp. 33–38 http://dx.doi.org/10.1016/j.chaos.2016.05.003

Definition at line 102 of file TRandomGen.h.

◆ TRandomMixMax17

MIXMAX generator based on a state of N=17. This generator has a fast seeding time compared to N=240. This generator is described in this paper:

K. Savvidy and G. Savvidy, Spectrum and Entropy of C-systems. MIXMAX random number generator, Chaos, Solitons & Fractals, Volume 91, (2016) pp. 33–38 http://dx.doi.org/10.1016/j.chaos.2016.05.003

Definition at line 113 of file TRandomGen.h.

◆ TRandomMixMax256

MIXMAX generator based on a state of N=256, based on the generator descrived in this paper:

K. Savvidy, The MIXMAX random number generator, Comp. Phys. Commun. 196 (2015), pp 161–165 http://dx.doi.org/10.1016/j.cpc.2015.06.003

This generator has been implemented with a skipping value of 2 iterations (so retaining one matrix iteration every 3).

Definition at line 127 of file TRandomGen.h.

◆ TRandomMT64

typedef TRandomGen<ROOT::Math::StdEngine<std::mt19937_64> > TRandomMT64

Generator based on a the Mersenne-Twister generator with 64 bits, using the implementation provided by the standard library, std::mt19937_64 (see http://www.cplusplus.com/reference/random/mt19937_64/ )

Definition at line 135 of file TRandomGen.h.

◆ TRandomRanlux48

Generator based on a the RanLux generator with 48 bits, using the implementation provided by the standard library, std::ranlux48 (see http://www.cplusplus.com/reference/random/ranlux48/ )

Definition at line 143 of file TRandomGen.h.