LATIN_RANDOM_DATASET
Generate Latin Random Square Datasets


LATIN_RANDOM_DATASET is a C++ library which creates a Latin Random Square dataset.

A Latin square, in M dimensional space, with N points, can be thought of as being constructed by dividing each of the M coordinate dimensions into N equal intervals. The I-th coordinates of the N subsquares are defined by assigning each possible value exactly once to one subsquare. Such a set is called a Latin Square.

If we now select at random one point from each subsquare, we have what we will term a "Latin Random Square".

Usage:

latin_random_dataset m n seed
where The data is written to the file latin_random_m_n.txt.

Licensing:

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

Languages:

LATIN_RANDOM_DATASET is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

FAURE_DATASET, a C++ program which creates a Faure quasirandom dataset;

GRID_DATASET, a C++ program which creates a grid sequence and writes it to a file.

LATIN_CENTER_DATASET, a C++ program which creates a Latin Center Hypercube dataset;

LATIN_EDGE_DATASET, a C++ program which creates a Latin Edge Hypercube dataset;

LATIN_RANDOM is a C++ library which contains the computational routines needed by LATIN_RANDOM_DATASET, and a compiled version of that library must be available to build the program.

LATIN_RANDOM is a dataset directory which contains sample datasets created by LATIN_RANDOM_DATASET.

NIEDERREITER2_DATASET, a C++ program which creates a Niederreiter quasirandom dataset with base 2;

NORMAL_DATASET, a C++ program which generates a dataset of multivariate normal pseudorandom values and writes them to a file.

SOBOL_DATASET, a C++ program which computes a Sobol quasirandom sequence and writes it to a file.

UNIFORM_DATASET, a C++ program which generates a dataset of multivariate uniform pseudorandom values and writes them to a file.

VAN_DER_CORPUT_DATASET, a C++ program which creates a van der Corput quasirandom sequence and writes it to a file.

Reference:

  1. Paul Bratley, Bennett Fox, Linus Schrage,
    A Guide to Simulation,
    Springer Verlag, pages 201-202, 1983.
  2. CJ Colbourn, JH 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,
    Academic Press, 1978, second edition,
    ISBN 0-12-519260-6.
  6. Herbert Ryser,
    Combinatorial Mathematics,
    Mathematical Association of America, 1963.

Source Code:

Examples and Data:

List of Routines:

You can go up one level to the C++ source codes.


Last revised on 12 November 2014.