latin_edge

latin_edge, a Python code which makes Latin Edge 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.

Once a Latin square has been selected, the center of each subsquare is chosen to yield a Latin Edge Square dataset. This is the same technique that yields a Latin Center Square dataset, with the difference that the mapping from the Latin Square to the unit square is shifted in such a way that the lowest and highest possible coordinate values are 0.0 and 1.0, instead of 1/(2*N) and (2*N-1)/(2*N).

Languages:

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

halton, a Python code which computes elements of a Halton quasirandom sequence.

hammersley, a Python code which computes elements of a Hammersley quasirandom sequence.

latin_center, a Python code which computes elements of a Latin Hypercube dataset, choosing center points.

latin_random, a Python code which computes elements of a Latin Hypercube dataset, choosing points at random.

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

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

van_der_corput, a Python 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, 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,