DIAPHONY is a MATLAB 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.
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 FORTRAN77 version and a FORTRAN90 version and a MATLAB version.
STAR_DISCREPANCY, a C++ program which reads a TABLE file of points (presumed to lie in the unit hypercube) and computes bounds on the star discrepancy, a measure of dispersion, by Eric Thiemard.
TABLE_LATINIZE, a MATLAB program which reads a file of points and creates a "latinized" version by adjusting the data.
TABLE_QUALITY, a MATLAB program which reads a file of points and computes the quality of dispersion.
You can go up one level to the MATLAB source codes.