DIAPHONY\
the “Diaphony” (dispersion)\
of an M-dimensional Pointset {#diaphony-the-diaphony-dispersion-of-an-m-dimensional-pointset align=”center”}
============================
DIAPHONY is a C++ 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
Licensing: {#licensing align=”center”}
The computer code and data files described and made available on this
web page are distributed under the GNU LGPL
license.
Languages: {#languages align=”center”}
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
C++ program which reads a file of points and creates a “latinized”
version by adjusting the data.
TABLE_QUALITY, a C++
program which reads a file of points and computes the quality of
dispersion.
Reference: {#reference align=”center”}
- 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.
- 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.
- Peter Heelekalek, Hannes Leeb,\
Dyadic Diaphony,\
Acta Arithmetica,\
Volume 80, Number 2, 1997, pages 187-196.
Source Code: {#source-code align=”center”}
List of Routines: {#list-of-routines align=”center”}
- MAIN is the main program for DIAPHONY.
- CH_CAP capitalizes a single character.
- CH_EQI is true if two characters are equal, disregarding case.
- CH_TO_DIGIT returns the integer value of a base 10 digit.
- DIAPHONY_COMPUTE evaluates the diaphony of a N-dimensional
point set.
- FILE_COLUMN_COUNT counts the columns in the first line of a
file.
- FILE_ROW_COUNT counts the number of row records in a file.
- I4_POWER returns the value of I\^J.
- R8_ABS returns the absolute value of an R8.
- R8_MODP returns the nonnegative remainder of R8 division.
- R8MAT_DATA_READ reads the data from an R8MAT file.
- R8MAT_HEADER_READ reads the header from an R8MAT file.
- R8MAT_MAX returns the maximum entry of an R8MAT.
- R8MAT_MIN returns the minimum entry of an R8MAT.
- S_LEN_TRIM returns the length of a string to the last
nonblank.
- S_TO_R8 reads an R8 from a string.
- S_TO_R8VEC reads an R8VEC from a string.
- S_WORD_COUNT counts the number of “words” in a string.
- TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to the C++ source codes.
Last revised on 25 January 2012.