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 to wrap engines fron the C++ standard random library in the ROOT Random interface. More...
 
class  TKDTree< Index, Value >
 Class implementing a kd-tree. More...
 
class  TRandom
 This is the base class for the ROOT Random number generators. More...
 
class  TRandom1
 The Ranlux Random number generator class. More...
 
class  TRandom2
 Random number generator class based on the maximally quidistributed combined Tausworthe generator by L'Ecuyer. More...
 
class  TRandom3
 Random number generator class based on M. More...
 

Typedefs

typedef TRandomEngine ROOT::Math::DefaultEngineType
 Documentation for the RandomFunction class. More...
 
typedef TRandomGen< ROOT::Math::MixMaxEngine< 240, 0 > > TRandomMixMax
 MIXMAX generator based on a state of N=240. More...
 
typedef TRandomGen< ROOT::Math::MixMaxEngine< 17, 0 > > TRandomMixMax17
 MIXMAX generator based on a state of N=17. More...
 
typedef TRandomGen< ROOT::Math::MixMaxEngine< 256, 2 > > TRandomMixMax256
 MIXMAX generator based on a state of N=256, based on the generator descrived in this paper: More...
 
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/ ) More...
 
typedef TRandomGen< ROOT::Math::StdEngine< std::ranlux48 > > 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/ ) More...
 

Typedef Documentation

◆ DefaultEngineType

Documentation for the RandomFunction class.

Definition at line 47 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 100 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 111 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 125 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 133 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 141 of file TRandomGen.h.