NMath provides random number generators that generate random deviates from a variety of probability distributions, including the beta, binomial, Cauchy, exponential, gamma, geometric, Gumbel, Johnson, Laplace, log-normal, normal, Pareto, Poisson, Rayleigh, triangular, uniform, and Weibull distributions.
● Scalar random number generators, which generate random deviates one at a time, via the Next() method. All NMath scalar generators inherit from the abstract base class RandomNumberGenerator, providing a common interface.
● Vectorized random number generators, which yield a stream of random numbers. Vectorized random number generators generally outperform scalar generators in computations requiring multiple deviates. All NMath scalar generators implement the IRandomNumberDistribution interface, and use a RandomNumberStream.
This chapter describes how to use the random number generator classes.