LATIN_CENTER is a C++ library which makes Latin Center 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 created, a Latin Center Square is determined by choosing the center of each subsquare.
Here is an image of a Latin centered grid with spatial dimension M = 2 and number of points N = 10.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
LATIN_CENTER is available in a C++ version and a FORTRAN90 version and a MATLAB version.
BOX_BEHNKEN, a C++ library which computes a Box-Behnken design, that is, a set of arguments to sample the behavior of a function of multiple parameters;
CVT, a C++ library which computes points in a Centroidal Voronoi Tessellation.
FAURE, a C++ library which computes Faure sequences.
GRID, a C++ library which computes points on a grid.
HALTON, a C++ library which computes elements of a Halton Quasi Monte Carlo (QMC) sequence, using a simple interface.
HAMMERSLEY, a C++ library which computes elements of a Hammersley Quasi Monte Carlo (QMC) sequence, using a simple interface.
HEX_GRID, a C++ library which computes sets of points in a 2D hexagonal grid.
IHS, a C++ library which computes improved Latin Hypercube datasets.
LATIN_CENTER_DATASET, a C++ program which creates a Latin Center Hypercube dataset;
LATIN_COVER, a C++ library which produces N Latin squares which cover an NxN square, or NxN Latin cubes which cover an NxNxN cube.
LATIN_EDGE, a C++ library which computes Latin square data choosing the edge value.
LATIN_RANDOM, a C++ library which computes Latin square data choosing a random value in the square.
NIEDERREITER2, a C++ library which computes Niederreiter sequences with base 2.
NORMAL, a C++ library which computes elements of a sequence of pseudorandom normally distributed values.
SOBOL, a C++ library which computes Sobol sequences.
UNIFORM, a C++ library which computes uniform random values.
VAN_DER_CORPUT, a C++ library which computes van der Corput sequences.
You can go up one level to the C++ source codes.