latin_random


latin_random, a MATLAB code 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.

Licensing:

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

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:

cvt, a MATLAB code which computes elements of a centroidal voronoi tessellation.

faure, a MATLAB code which computes elements of a faure quasirandom sequence.

grid, a MATLAB code which computes elements of a grid dataset.

halton, a MATLAB code which computes elements of a halton quasirandom sequence.

hammersley, a MATLAB code which computes elements of a hammersley quasirandom sequence.

latin_center, a MATLAB code which computes elements of a latin hypercube dataset, choosing center points.

latin_edge, a MATLAB code which computes elements of a latin hypercube dataset, choosing edge points.

latin_random, a dataset directory which contains a number of examples of datasets created by latin_random.

latin_random_test

lattice_rule, a MATLAB code which approximates multidimensional integrals using lattice rules.

niederreiter2, a MATLAB code which computes elements of a niederreiter quasirandom sequence with base 2.

sobol, a MATLAB code which computes elements of a sobol quasirandom sequence.

uniform, a MATLAB code which computes elements of a uniform pseudorandom sequence.

van_der_corput, a MATLAB code which computes elements of a van der corput quasirandom sequence.

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. M D McKay, W J Conover, R J 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,
    Academic Press, 1978, second edition,
    ISBN 0-12-519260-6.
  6. Herbert Ryser,
    Combinatorial Mathematics,
    Mathematical Association of America, 1963.

Source Code:


Last revised on 09 July 2021.