IHS_DATASET is a FORTRAN90 program, using double precision arithmetic, which creates an IHS dataset.
A Latin hypercube, in M dimensional space, with N points, can be thought of as being constructed by dividing each of the M coordinate dimensions into N equal intervals. The J-th coordinate of the I-th point can be constructed by choosing, in the J-th dimension, an interval that has not been used, and then choosing any value in that interval.
This algorithm differs in that it tries to pick a solution which has the property that the points are "spread out" as evenly as possible. It does this by determining an optimal even spacing, and using the duplication factor D to allow it to choose the best of the various options available to it (the more duplication, the better chance of optimization).
One drawback to this algorithm is that it requires an internal real distance array of dimension D * N * N. For a relatively moderate problem with N = 1000, this can exceed the easily accessible memory. Moreover, the program is inherently quadratic in N in execution time as well as memory; the computation of the I-th point in the set of N requires a consideration of the value of the coordinates used up by the previous points, and the distances from each of those points to the candidates for the next point.
The program is interactive, and allows the user to choose
IHS is a library which supplies the computational routines needed by IHS_DATASET.
IHS is a dataset directory which contains sample datasets created by IHS_DATASET.
IHS_DATASET is also available in a C++ version and a MATLAB version.
TABLE is a file format which is used for the output files created by IHS_DATASET
TABLE_DISCREPANCY is an executable C++ program which can read a TABLE file of points (presumed to lie in the unit hypercube) and compute bounds on the star discrepancy, a measure of dispersion.
You can go up one level to the FORTRAN90 source codes.