NMath User's Guide

TOC | Previous | Next | Index

Chapter 9. Random Number Generators (.NET, C#, CSharp, VB, Visual Basic, F#)

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.

NMath provides two sets of random number generators:

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.