LATINIZE
Force a Dataset to be a Latin Hypercube
LATINIZE
is a C++ library which
adjusts an M dimensional dataset of N points so that it
forms a Latin hypercube.
On output, each row of the table will have the properties that:
-
the minimum and maximum row values are the same as on input;
-
the row contains N evenly spaced values between the
minimum and maximum.
-
in each row, the elements retain their ordering.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages
LATINIZE is available in
a C version and
a C++ version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
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;
LATIN_CENTER,
a C++ library which
computes Latin Square datasets by choosing the center of each square.
LATIN_EDGE,
a C++ library which
computes Latin Square datasets by choosing the edge of each square.
LATIN_RANDOM,
a C++ library which
computes Latin Square datasets by choosing a random point of each square.
TABLE,
a data format which
is used to store the input and output files
used by the program.
TABLE_LATINIZE,
a C++ program which
allows the name of the data file to be specified on the command line.
Reference:
-
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.
-
Yuki Saka, Max Gunzburger, John Burkardt,
Latinized, Improved LHS, and CVT Point Sets in Hypercubes,
International Journal of Numerical Analysis and Modeling,
Volume 4, Number 3-4, 2007, pages 729-743,
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:
-
CH_CAP capitalizes a single character.
-
CH_EQI is true if two characters are equal, disregarding case.
-
CH_TO_DIGIT returns the integer value of a base 10 digit.
-
FILE_COLUMN_COUNT counts the columns in the first line of a file.
-
FILE_NAME_EXT_SWAP replaces the current "extension" of a file name.
-
FILE_ROW_COUNT counts the number of row records in a file.
-
I4_MAX returns the maximum of two I4's.
-
I4_MIN returns the minimum of two I4's.
-
R8MAT_DATA_READ reads the data from an R8MAT file.
-
R8MAT_HEADER_READ reads the header from an R8MAT file.
-
R8MAT_LATINIZE "latinizes" a real table dataset.
-
R8MAT_PRINT prints an R8MAT.
-
R8MAT_PRINT_SOME prints some of an R8MAT.
-
R8MAT_TRANSPOSE_PRINT prints an R8MAT, transposed.
-
R8MAT_TRANSPOSE_PRINT_SOME prints some of an R8MAT, transposed.
-
R8MAT_WRITE writes an R8MAT file.
-
R8VEC_SORT_HEAP_INDEX_A does an indexed heap ascending sort of an R8VEC.
-
S_LEN_TRIM returns the length of a string to the last nonblank.
-
S_TO_R8 reads an R8 from a string.
-
S_TO_R8VEC reads an R8VEC from a string.
-
S_WORD_COUNT counts the number of "words" in a string.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to
the C++ source codes.
Last revised on 23 January 2012.