middle_square, a Python code which implements the middle square algorithm for generating random integers. This is a very early method, attributed to von Neumann, which actually is deeply flawed, with short cycles.
The computer code and data files made available on this web page are distributed under the GNU LGPL license.
middle_square is available in a C version and a MATLAB version and an Octave version and a Python version.
asa183, a Python code which implements the Wichman-Hill random number generator (RNG).
collatz, a Python code which computes and analyzes the Collatz or hailstone or 3n+1 sequence;
cycle_brent, a Python code which carries out an iterated function evaluation, and seeks to determine the nearest element of a cycle, and the cycle length, using the Brent method.
cycle_floyd, a Python code which carries out an iterated function evaluation, and seeks to determine the nearest element of a cycle, and the cycle length, using the Floyd method.
halton, a Python code which computes elements of a Halton quasirandom sequence.
hammersley, a Python code which computes elements of a Hammersley quasirandom sequence.
normal, a Python code which computes a sequence of pseudorandom normally distributed values.
random_sorted, a Python code which generates vectors of random values which are already sorted.
ranlib, a Python code 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.
rnglib, a Python code which implements a random number generator (RNG) with splitting facilities, allowing multiple independent streams to be computed, by L'Ecuyer and Cote.
uniform, a Python code which computes a sequence of uniformly distributed pseudorandom values.
van_der_corput, a Python code which computes elements of a van der Corput quasirandom sequence.