Interactive Program for
Point Dispersion Quality

TABLE_QUALITY is a MATLAB program which reads a data file containing 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:

The input data file is assumed to be in the simple TABLE format.


table_quality 'file.txt'


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 MATLAB program which reads a file of N points in M dimensions and computes its diaphony, a measure of point dispersion.

QUALITY, a MATLAB library which provides most of the routines used by TABLE_QUALITY.

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.


  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:

CVT_02_00100 is a set of 100 CVT points in 2D.

CVT_07_00010 is a set of 10 CVT points in 7D.

DEGEN_02_00130 is a set of 130 points in 2D which involve a degenerate triangulation.

HALTON_02_00100 is a set of 100 Halton points in 2D.

You can go up one level to the MATLAB source codes.

Last revised on 25 January 2012.