TABLE_LATINIZE is a FORTRAN90 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.
LATINIZE, a FORTRAN90 library which supplies the routines that calculate the Latinized data needed by TABLE_LATINIZE.
TABLE_IO, a FORTRAN90 library which supplies the routines used to read the TABLE file.
TABLE_QUALITY, a FORTRAN90 program which reads a file of points and computes the quality of dispersion.
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 FORTRAN90 source codes.