RNGLIB
A Package of Random Number Generators (RNG's) with Splitting Facilities


RNGLIB is a FORTRAN90 library which implements random number generators (RNG's) which can generate one or more streams of random numbers.

RNGLIB is a portable set of software tools for uniform random variate generation. It provides for multiple generators running simultaneously, and each generator has its sequence of numbers partitioned into many long disjoint substreams. Simple procedure calls allow the user to make any generator jump ahead to the beginning of its next substream.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

RNGLIB is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

ASA183, a FORTRAN90 library which implements the Wichman-Hill random number generator (RNG).

FAURE, a FORTRAN90 library which computes elements of a Faure quasirandom sequence.

F90_RANDOM, FORTRAN90 programs which illustrate the use of Fortran's random number generator (RNG) functions.

HALTON, a FORTRAN90 library which computes elements of a Halton quasirandom sequence.

HAMMERSLEY, a FORTRAN90 library which computes elements of a Hammersley quasirandom sequence.

IEEE_UNIFORM, a FORTRAN90 library which tries to uniformly sample the discrete set of values that represent the legal IEEE real numbers;

NIEDERREITER2, a FORTRAN90 library which computes elements of a Niederreiter quasirandom sequence with base 2.

NORMAL, a FORTRAN90 library which implements random number generators (RNG's) for normally distributed values.

RANDLC, a FORTRAN90 library which implements a random number generator (RNG) used by the NAS Benchmark programs.

RANDOM_MPI, a FORTRAN90 program which demonstrates one way to generate the same sequence of random numbers for both sequential execution and parallel execution under MPI.

RANDOM_SORTED, a FORTRAN90 library which generates vectors of random values which are already sorted.

RANLIB, a FORTRAN90 library which produces random samples from Probability Density Functions (PDF's), including Beta, Chi-square Exponential, F, Gamma, Multivariate normal, Noncentral chi-square, Noncentral F, Univariate normal, random permutations, Real uniform, Binomial, Negative Binomial, Multinomial, Poisson and Integer uniform, by Barry Brown and James Lovato.

SOBOL, a FORTRAN90 library which computes elements of a Sobol quasirandom sequence.

UNIFORM, a FORTRAN90 library which implements random number generators (RNG's) for a variety of arithmetic types.

VAN_DER_CORPUT, a FORTRAN90 library which computes elements of a van der Corput quasirandom sequence.

ZIGGURAT, a FORTRAN90 program which generates points from a uniform, normal or exponential distribution, using the ziggurat method.

Reference:

  1. Pierre LEcuyer, Serge Cote,
    Implementing a Random Number Package with Splitting Facilities,
    ACM Transactions on Mathematical Software,
    Volume 17, Number 1, March 1991, pages 98-111.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the FORTRAN90 source codes.


Last revised on 05 August 2013.