LATINIZE
Force a Dataset to be a Latin Hypercube


LATINIZE is a library of C++ routines, using double precision arithmetic, which adjust an M dimensional dataset of N points so that it forms a Latin hypercube.

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.

Related Data and Programs:

LATIN_CENTER is a C++ library of routines for Latin Square datasets choosing the center of each square.

LATIN_EDGE is a C++ library of routines for Latin Square datasets choosing the edge of each square.

LATIN_RANDOM is a C++ library of routines for Latin Square datasets choosing a random point of each square.

LATINIZE is also available in a FORTRAN90 version and a MATLAB version.

TABLE is the format used to store the input and output files used by the program.

TABLE_LATINIZE is an interactive C++ program which allows the name of the data file to be specified on the command line.

Reference:

  1. 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.

Source Code:

Examples:

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:

List of Routines:

You can go up one level to the C++ source codes.


Last revised on 13 November 2006.