quality, a FORTRAN90 code which computes measures of the quality of dispersion of a set of N points in an M dimensional region.

The region to be analyzed is defined by a single routine which the user may specify. We will refer to that routine as sample_routine. This routine is simply required to return sample points from the region.

The library includes routines for two simple regions, namely the unit hypercube and the unit hypersphere. If either of these regions is of interest, then the user simply has to pass the appropriate name, either sample_hypercube_uniform or sample_sphere_uniform. For other regions, the user should write the appropriate version of a sampling routine.

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 unit hypersphere in M dimensional space is simply the set of all points whose distance from the origin is 1 or less.

The quality measures computed include:


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


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

Related Programs:

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


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_QUALITY, a FORTRAN90 code which computes the quality measures of a dataset read from a file. which can analyze a dataset that is stored in a file.

TET_MESH, a FORTRAN90 code which carries out various operations on tetrahedral meshes.

TET_MESH_QUALITY, a FORTRAN90 code which computes quality measures of a tetrahedral mesh.

TRIANGULATION_QUALITY, a FORTRAN90 code which computes quality measures of a triangulation.


  1. David Field,
    Qualitative Measures for Initial Meshes,
    International Journal of Numerical Methods in Engineering,
    Volume 47, 2000, pages 887-906.
  2. Douglas 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:

Last revised on 23 August 2020.