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>


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


 Unit headers.


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: More...


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.

Sergey Lyskov (
  • -