Interactive Program for
Point Dispersion Quality

TABLE_QUALITY is a C++ program which reads a data file contains the coordinates of N points in an M dimensional region, and computes some measures of the quality of dispersion of the points.

The program assumes that the pointset lies in the unit hypercube. However, it is easy to modify the program to handle other regions. A single routine, named sample_routine, is required to return sample points in the region. To handle a different region, simply modify this routine, and rebuild the program. One other built-in routine is already available, for sampling the unit sphere.

The unit hypercube in M dimensional space is simply the set of all vectors whose entries are between 0 and 1. It is a natural abstraction of the unit line segment, the unit square, and the unit cube, and represents a very simple chunk of M dimensional space.

The quality measures computed include:

The program also prints:


table_quality filename
reads the data in filename, computes the quality measures, and prints them out.


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


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

Related Data and Programs:

DIAPHONY, a C++ program which reads a file of N points in M dimensions and computes its diaphony, a measure of point dispersion.

QUALITY, a C++ library which makes the computations needed by TABLE_QUALITY. To build a copy of TABLE_QUALITY, a compiled copy of the QUALITY library must be available.

STAR_DISCREPANCY, a C++ program which reads a TABLE file of M points in N dimensions (presumed to lie in the unit hypercube) and computes bounds on the star discrepancy, a measure of dispersion, by Eric Thiemard.

TABLE_LATINIZE, a C++ program which can read a TABLE file and write out a "latinized" version.


  1. David Field,
    Qualitative Measures for Initial Meshes,
    International Journal of Numerical Methods in Engineering,
    Volume 47, 2000, pages 887-906.
  2. D P Hardin, Edward Saff,
    Discretizing Manifolds via Minimum Energy Points,
    Notices of the AMS,
    Volume 51, Number 10, November 2004, pages 1186-1194.
  3. Per-Olof Persson, Gilbert Strang,
    A Simple Mesh Generator in MATLAB,
    SIAM Review,
    Volume 46, Number 2, pages 329-345, June 2004.
  4. 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:

List of Routines:

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

Last revised on 31 August 2005.