diaphony, a FORTRAN77 code 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.
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=2D | M=7D | M=16D | 1/Sqrt(N) |
---|---|---|---|---|
N=10 | 0.246 | 0.316 | 0.316 | 0.316 |
N=100 | 0.043 | 0.099 | 0.099 | 0.100 |
N=1000 | 0.006 | 0.031 | 0.031 | 0.031 |
N=10000 | 0.001 | 0.009 | 0.009 | 0.010 |
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
diaphony is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version.
TABLE_LATINIZE, a FORTRAN90 program which reads a file of points and creates a "latinized" version by adjusting the data.
TABLE_QUALITY, a FORTRAN90 program which reads a file of points and computes the quality of dispersion.