GRID
Random Points on a Uniform Grid


GRID is a C++ library which randomly selects N distinct points on a uniform grid in the unit hypercube in M-dimensional space.

Note that, unless N is an Mth power of an integer, the program must generate a regular grid with too many points, and then omit some. Choosing which points to omit is done with a random number generator, whose actions are controlled by SEED.

The actual placement of the grid within the unit hypercube leaves some options for the use. It is easiest to describe the options in the 1 dimensional case, and in terms of where the first and last grid point are. Assuming we have N evenly spaced points to place between 0 and 1, the centering options are

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

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;

CLENSHAW_CURTIS is a C++ library which defines a multiple dimension Clenshaw Curtis quadrature rule.

CVT is a C++ library which computes elements of a Centroidal Voronoi Tessellation.

FAURE is a C++ library which computes elements of a Faure quasirandom sequence.

GRID is available in a C++ version and a FORTRAN90 version and a MATLAB version.

GRID_DATASET is a C++ program which creates a grid sequence and writes it to a file.

HALTON is a C++ library which computes elements of a Halton quasirandom sequence.

HAMMERSLEY is a C++ library which computes elements of a Hammersley quasirandom sequence.

HEX_GRID is a C++ library which computes elements of a hexagonal grid dataset.

IHS is a C++ library which computes elements of an improved distributed Latin hypercube dataset.

LATIN_CENTER is a C++ library which computes elements of a Latin Hypercube dataset, choosing center points.

LATIN_EDGE is a C++ library which computes elements of a Latin Hypercube dataset, choosing edge points.

LATIN_RANDOM is a C++ library which computes elements of a Latin Hypercube dataset, choosing points at random.

LCVT is a C++ library which computes a latinized Centroidal Voronoi Tessellation.

NIEDERREITER is a C++ library which computes elements of a Niederreiter quasirandom sequence [arbitrary base].

NORMAL is a C++ library which computes elements of a sequence of pseudorandom normally distributed values.

SOBOL is a C++ library which computes elements of a Sobol quasirandom sequence.

UNIFORM is a C++ library which computes uniform random values.

VAN_DER_CORPUT is a C++ library which computes van der Corput sequences.

Source Code:

Examples and Tests:

List of Routines:

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


Last revised on 31 August 2005.