TABLE_LATINIZE is a C++ program which allows the user to specify a file of data to be read in and adjusted to form a Latin hypercube.
The data in the file represents N points in M-dimensional space.
The algorithm is actually very simple. In each spatial dimension, the point coordinates are sorted, and then replaced by the appropriate values for a Latin hypercube. In particular, if there are four points, then in every coordinate, the four points will be assigned values of 1/8, 3/8, 5/8 and 7/8 (in some order). The hope is that if the initial dataset has some nice dispersion property, then the resulting adjusted dataset will inherit some of this dispersion as well; in particular, more dispersion than typically seen in an arbitrary Latin hypercube.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
TABLE_LATINIZE 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;
LATINIZE, a C++ library which carries out the calculations needed by TABLE_LATINIZE.
TABLE, a file format which is used for the input and output of TABLE_LATINIZE.
TABLE_DELAUNAY, a C++ program which reads a file of 2d point coordinates and computes the Delaunay triangulation.
TABLE_IO, a C++ library which can read or write a TABLE file.
TABLE_QUALITY, a C++ program which can read a TABLE file and print out measures of the quality of dispersion of the points.
CVT_02_00010 is a set of 10 CVT points in 2D:
CVT_03_00007 is a set of 7 CVT points in 3D:
CVT_03_00056 is a set of 56 CVT points in 3D:
CVT_07_00100 is a set of 100 CVT points in 7D:
You can go up one level to the C++ source codes.