# LATIN_RANDOM Latin Random Squares in M dimensions

LATIN_RANDOM is a Python library which makes Latin random squares.

A Latin square is a selection of one point from each row and column of a square matrix or table. In M dimensions, the corresponding item is a set of N points, where, in each dimension, there is exactly one point whose coordinates are in a given "column" or range of values. To emphasize the use of higher dimensions, these objects are sometimes called Latin hypersquares.

A Latin Random Square (I just made up this name) is a set of N points, where one point is taken at random from each of the subsquares of a Latin Square. These points may be regarded as an M dimensional quasirandom pointset.

### Languages:

LATIN_RANDOM 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:

HALTON, a Python library which computes elements of a Halton Quasi Monte Carlo (QMC) sequence, using a simple interface.

HAMMERSLEY, a Python library which computes elements of a Hammersley Quasi Monte Carlo (QMC) sequence, using a simple interface.

UNIFORM, a Python library which computes elements of a uniform pseudorandom sequence.

VAN_DER_CORPUT, a Python library which computes elements of a 1D van der Corput Quasi Monte Carlo (QMC) sequence using a simple interface.

### Reference:

1. Paul Bratley, Bennett Fox, Linus Schrage,
A Guide to Simulation,
Springer Verlag, pages 201-202, 1983.
2. C J Colbourn and J H Dinitz,
CRC Handbook of Combinatorial Design,
CRC, 1996.
3. Bennett Fox,
Algorithm 647:
Implementation and Relative Efficiency of Quasirandom Sequence Generators,
ACM Transactions on Mathematical Software,
Volume 12, Number 4, pages 362-376, 1986.
4. Michael McKay, William Conover, Richard Beckman,
A Comparison of Three Methods for Selecting Values of Input Variables in the Analysis of Output From a Computer Code,
Technometrics,
Volume 21, pages 239-245, 1979.
5. Albert Nijenhuis, Herbert Wilf,
Combinatorial Algorithms,
ISBN 0-12-519260-6.
6. Herbert Ryser,
Combinatorial Mathematics,
Mathematical Association of America, 1963.

### List of Routines:

• GET_SEED returns a seed for the random number generator.
• GET_UNIT returns a free FORTRAN unit number.
• I4_UNIFORM returns a scaled pseudorandom I4.

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

Last revised on 13 November 2014.