LATIN_RANDOM is a FORTRAN90 library which makes Latin random squares.
A Latin square is a selection of one point from each row and column of a square matrix or table. In M dimensions, the corresponding item is a set of N points, where, in each dimension, there is exactly one point whose coordinates are in a given "column" or range of values. To emphasize the use of higher dimensions, these objects are sometimes called Latin hypersquares.
A Latin Random Square (I just made up this name) is a set of N points, where one point is taken at random from each of the subsquares of a Latin Square. These points may be regarded as an M dimensional quasirandom pointset.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
LATIN_RANDOM is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.
CVT, a FORTRAN90 library which computes elements of a Centroidal Voronoi Tessellation.
FAURE, a FORTRAN90 library which computes elements of a Faure quasirandom sequence.
HALTON, a FORTRAN90 library which computes elements of a Halton Quasi Monte Carlo (QMC) sequence, using a simple interface.
HAMMERSLEY, a FORTRAN90 library which computes elements of a Hammersley Quasi Monte Carlo (QMC) sequence, using a simple interface.
HEX_GRID, a FORTRAN90 library which computes elements of a hexagonal grid dataset.
HEX_GRID_ANGLE, a FORTRAN90 library which computes elements of an angled hexagonal grid dataset.
IEEE_UNIFORM_SAMPLE, a FORTRAN90 library which tries to uniformly sample the discrete set of values that represent the legal IEEE real numbers;
IHS, a FORTRAN90 library which computes elements of an improved distributed Latin hypercube dataset.
LATIN_CENTER, a FORTRAN90 library which computes elements of a Latin Hypercube dataset, choosing center points.
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 elements of a Latin Hypercube dataset, choosing edge points.
LATIN_RANDOM, a dataset directory which contains a number of examples of datasets created by LATIN_RANDOM.
LATIN_RANDOM_DATASET, a FORTRAN90 program which creates a Latin Random Hypercube dataset;
LATTICE_RULE, a FORTRAN90 library which approximates multidimensional integrals using lattice rules.
LCVT, a FORTRAN90 library which computes a latinized Centroidal Voronoi Tessellation.
NIEDERREITER2, a FORTRAN90 library which computes elements of a Niederreiter quasirandom sequence with base 2.
NORMAL, a FORTRAN90 library which computes elements of a sequence of pseudorandom normally distributed values.
SOBOL, a FORTRAN90 library which computes elements of a Sobol quasirandom sequence.
UNIFORM, a FORTRAN90 library which computes elements of a uniform pseudorandom sequence.
VAN_DER_CORPUT, a FORTRAN90 library which computes elements of a van der Corput quasirandom sequence.
You can go up one level to the FORTRAN90 source codes.