latin_center


latin_center, a Fortran90 code which makes centered Latin Squares for sampling.

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.

Once the Latin square has been chosen, a Latin Center Square dataset is created by choosing the center of each of the subsquares.

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

latin_center is available in a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

Related Data and Programs:

latin_center_test

cvt, a Fortran90 library which computes elements of a Centroidal Voronoi Tessellation.

faure, a Fortran90 library which computes elements of a Faure quasirandom sequence.

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

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

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

latin_center, a dataset directory which contains a number of examples of datasets created by LATIN_CENTER().

latin_center_dataset, a Fortran90 program which creates a Latin Center Hypercube dataset;

latin_cover, a Fortran90 library which produces N Latin squares which cover an NxN square, or NxN Latin cubes which cover an NxNxN cube.

latin_edge, a Fortran90 library which computes elements of a Latin Hypercube dataset, choosing edge points.

latin_random, a Fortran90 library which computes elements of a Latin Hypercube dataset, choosing points at random.

lattice_rule, a Fortran90 library which approximates multidimensional integrals using lattice rules.

lcvt, a Fortran90 library which computes a latinized Centroidal Voronoi Tessellation.

niederreiter2, a Fortran90 library which computes elements of a Niederreiter quasirandom sequence with base 2.

normal, a Fortran90 library which computes elements of a sequence of pseudorandom normally distributed values.

sobol, a Fortran90 library which computes elements of a Sobol quasirandom sequence.

uniform, a Fortran90 library which computes elements of a uniform pseudorandom sequence.

van_der_corput, a Fortran90 library 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. 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:


Last revised on 14 October 2022.