LATINIZE
Force a Dataset to be a Latin Hypercube
LATINIZE
is a FORTRAN90 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 FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
LATIN_CENTER,
a FORTRAN90 library which
computes a Latin Square by choosing the center of each square.
LATIN_COVER,
a FORTRAN90 library which
produces N Latin squares which cover an NxN square,
or NxN Latin cubes which cover an NxNxN cube.
LATIN_EDGE,
a FORTRAN90 library which
computes a Latin Square by choosing the edge of each square.
LATIN_RANDOM,
a FORTRAN90 library which
computes a Latin Square by choosing a random point of each square.
TABLE_LATINIZE,
a FORTRAN90 program which
allows the user to name the input data file on the command line.
Reference:
-
Michael McKay, William Conover, Richard 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 and Tests:
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 a case insensitive comparison of two characters for equality.
-
CH_TO_DIGIT returns the integer ( kind = 4 ) value of a base 10 digit.
-
FILE_COLUMN_COUNT counts the number of columns in the first line of a file.
-
FILE_NAME_EXT_GET determines the "extension" of a file name.
-
FILE_NAME_EXT_SWAP replaces the current "extension" of a file name.
-
FILE_ROW_COUNT counts the number of row records in a file.
-
GET_UNIT returns a free FORTRAN unit number.
-
R8MAT_DATA_READ reads data from an R8MAT file.
-
R8MAT_HEADER_READ reads the header from an R8MAT file.
-
R8MAT_LATINIZE "Latinizes" a real table dataset.
-
R8MAT_PRINT_SOME prints some of a DMAT.
-
R8MAT_TRANSPOSE_PRINT prints a real matrix, transposed.
-
R8MAT_TRANSPOSE_PRINT_SOME prints some of a real matrix, transposed.
-
R8MAT_WRITE writes an R8MAT file.
-
R8VEC_SORT_HEAP_INDEX_A does an indexed heap ascending sort of a real vector.
-
S_BLANK_DELETE removes blanks from a string, left justifying the remainder.
-
S_INDEX_LAST finds the LAST occurrence of a given substring.
-
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 FORTRAN90 source codes.
Last revised on 04 February 2012.