Rosetta Utilities  2014.35
Classes | Namespaces | Enumerations | Functions
random.hh File Reference

Random number generator system. More...

#include <numeric/random/random.fwd.hh>
#include <numeric/random/uniform.hh>
#include <utility/pointer/owning_ptr.hh>
#include <iostream>
#include <string>
#include <vector>
#include <utility/vector1.hh>

Classes

class  numeric::random::RandomGenerator
 Random number generator system. More...
 

Namespaces

 numeric
 Unit headers.
 
 numeric::random
 

Enumerations

enum  numeric::random::RND_RunType { numeric::random::_RND_NormalRun_, numeric::random::_RND_TestRun_ }
 Different type of initialization scheme: RND_NormalRun - all instances of RandomGenerator will be pointing to just one generator. This is main production mode. We do not use multiple generators here because putting many generators will effectively produce long-range correlations between random numbers obtained from different places of program. (By using N generators instead of one we effectively reducing dimensionality of random generator by at least N. Now take in to account number of nodes in computer cluster and its look like we can quickly run in to trouble even with 600 dimensional Mersenne twister.) Somewhat helpful presentation on this topic: "Don't Trust Parallel Monte Carlo!" by Peter Hellekalek, available online at: http://random.mat.sbg.ac.at/~peter/pads98.ps. More...
 

Functions

double numeric::random::uniform (void)
 
double numeric::random::gaussian (void)
 
int numeric::random::random_range (int low, int high)
 

Detailed Description

Random number generator system.

Author
Sergey Lyskov (Serge.nosp@m.y.Ly.nosp@m.skov@.nosp@m.jhu..nosp@m.edu)
Remarks
  • -