TABLE_DIAPHONY
the "Diaphony" (dispersion)
of an M-dimensional Pointset


TABLE_DIAPHONY is a FORTRAN90 program which computes the "diaphony" of an M-dimensional pointset.

The "diaphony" of an M-dimensional pointset is a numeric measure of the uniformity of the dispersion of the points throughout the unit hypercube.

The point sets we are interested in have been generated by a variety of algorithms, and are stored as datasets, of spatial dimension 2, 7 and 16, and sample sizes 10, 100, 1,000 and 10,000. The point set types include:

Regarded as a random variable itself, the diaphony of a set of N points has an expected value of 1/sqrt(N).

For the Halton datasets in 2D, 7D and 16D, here is the table of the number of points versus the diaphony:
Diaphony(M,N)M=2DM=7DM=16D 1/Sqrt(N)
N=100.2460.316 0.3160.316
N=1000.0430.099 0.0990.100
N=10000.0060.031 0.0310.031
N=100000.0010.009 0.0090.001

Related Data and Programs:

The TABLE format is used for the input to this program.

TABLE_BARPLOT_PPMA is an executable program which reads a table file and creates a PPMA bargraph of the data.

TABLE_BORDER is an executable program which can be used to add a border (of zero values) to a table file.

TABLE_COLUMNS is an executable program which can extract specific columns of data from a table file.

TABLE_COLUMNS_PERMUTE is an executable FORTRAN90 program which permutes the columns of a table file.

TABLE_DELAUNAY computes the Delaunay triangulation of a set of points.

TABLE_DIAPHONY computes the diaphony of a set of points stored in a table file.

TABLE_HISTOGRAM can make a histogram of a set of points stored in a table file.

The TABLE_IO library supplies the routines used to read the TABLE file.

TABLE_LATINIZE is a FORTRAN90 program that reads a file of points and creates a "latinized" version by adjusting the data.

TABLE_MERGE is a FORTRAN90 program that reads a file of points, and removes duplicates, and points that are close to each other.

TABLE_ORTHONORMALIZE is a FORTRAN90 program that reads a file of points and orthonormalizes the columns.

TABLE_QUALITY is a FORTRAN90 program that reads a file of points and computes the quality of dispersion.

TABLE_READ is a MATLAB script that can read in a TABLE file.

TABLE_RECORD_MATCH is an executable program that can be used to find close records in a table file.

TABLE_SCALE is an executable program that can be used to multiply the entries of a table file by a scale vector.

TABLE_SHIFT is an executable program that can be used to shift the entries of a table file by a shift vector.

TABLE_STATS is an executable program that can read a table file and compute certain statistics.

TABLE_TET_MESH is an executable program that can read a table file of 3D data, and compute a tetrahedral mesh.

TABLE_TOP is an executable FORTRAN90 program that can read a table file of M-dimensional data and make a table of plots of all pairs of coordinates.

TABLE_UNBORDER is an executable program that can be used to remove the border from a table file.

TABLE_UNIFORM_NOISE is an executable program that can be used to add a uniform noise term to the data in a table file.

TABLE_VORONOI can be used to compute information about the Voronoi diagram of the points.

Reference:

  1. Peter Heelekalek,
    On Correlation Analysis of Pseudorandom Numbers, in Monte Carlo and Quasi-Monte Carlo Methods 1996, edited by Harald Niederreiter, Peter Hellekalek, Gerhard Larcher, and Peter Zinterhof,
    Volume 127 of Lecture Notes in Statistics,
    Springer Verlag, 1997, pages 251-265.
  2. Peter Heelekalek, Harald Niederreiter,
    The Weighted Spectral Test: Diaphony,
    ACM Transactions on Modeling and Computer Simulation,
    Volume 8, Number 1, January 1998, pages 43-60.
  3. Peter Heelekalek, Hannes Leeb,
    Dyadic Diaphony,
    Acta Arithmetica,
    Volume 80, Number 2, 1997, pages 187-196.

Source Code:

Examples and Tests:

List of Routines:

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


Last revised on 27 November 2006.