HALTON
Halton Datasets
HALTON
is a dataset directory which
contains points generated
by the M-dimensional Halton sequence.
The NDIM-dimensional Halton sequence is derived from the 1-dimensional
van der Corput sequence. Each dimension typically uses a different
prime number as the base of the calculation.
The HALTON_DATASET programs select elements of a "leaped"
subsequence of the Halton sequence. The subsequence elements are
indexed by a quantity called STEP, which starts at 0. The STEP-th
subsequence element is simply the Halton sequence element with index
SEED(1:NDIM) + STEP * LEAP(1:NDIM).
The arguments that the user may set include:
-
NDIM, the spatial dimension,
default: NDIM = 1,
required: 1 <= NDIM;
-
STEP, the subsequence index.
default: STEP = 0,
required: 0 <= STEP.
-
SEED(1:NDIM), the Halton sequence index corresponding
to STEP = 0.
default: SEED(1:NDIM) = (0, 0, ... 0),
required: 0 <= SEED(1:NDIM);
-
LEAP(1:NDIM), the succesive jumps in the Halton sequence.
default: LEAP(1:NDIM) = (1, 1, ..., 1).
required: 1 <= LEAP(1:NDIM).
-
BASE(1:NDIM), the Halton bases.
default: BASE(1:NDIM) = (2, 3, 5, 7, 11... ),
required: 1 < BASE(1:NDIM).
In some cases, it is recommended that the initial portion of
the sequence be skipped over. A general suggestion is to
let STEP be the first power of 2 that is equal to or
greater than N, the number of points to generate.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Related Data and Programs:
HALTON_DATASET,
a C++ program which
creates a Halton sequence and writes it to a file.
PLOT_POINTS,
a FORTRAN90 program which
can create Encapsulated PostScript
images (EPS) of some of the two dimensional datasets.
TABLE,
a file format which
is used to store the data.
TABLE_TOP
a FORTRAN90 program which
can display pairwise
coordinate plots of higher dimensional datasets.
Example dataset:
A typical (but small) Halton dataset looks like this:
# halton_02_00010.txt
# created by HALTON_WRITE.F90
#
# File generated on July 11 2004 12:58:28.788 PM
#
# NDIM = 2
# N = 10
# STEP = 0
# SEED = 0 0
# LEAP = 1 1
# BASE = 2 3
# EPSILON (unit roundoff ) = 0.222045E-15
#
0.000000 0.000000
0.500000 0.333333
0.250000 0.666667
0.750000 0.111111
0.125000 0.444444
0.625000 0.777778
0.375000 0.222222
0.875000 0.555556
0.062500 0.888889
0.562500 0.037037
Reference:
-
John Halton,
On the efficiency of certain quasi-random sequences of points
in evaluating multi-dimensional integrals,
Numerische Mathematik,
Volume 2, 1960, pages 84-90.
-
John Halton, GB Smith,
Algorithm 247: Radical-Inverse Quasi-Random Point Sequence,
Communications of the ACM,
Volume 7, 1964, pages 701-702.
-
Ladislav Kocis, William Whiten,
Computational Investigations of Low-Discrepancy Sequences,
ACM Transactions on Mathematical Software,
Volume 23, Number 2, June 1997, pages 266-294.
Datasets:
Datasets in M = 2 dimensions, with no skipping, include:
-
halton_02_00010.inp,
input to HALTON_DATASET to create the dataset.
-
halton_02_00010.txt,
M = 2, N = 10, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_02_00010.inp2,
commands to make a picture of the dataset using
PLOT_POINTS.
-
halton_02_00010.png,
a PNG image of
the dataset.
-
halton_02_00100.inp,
input to HALTON_DATASET to create the dataset.
-
halton_02_00100.txt,
M = 2, N = 100, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_02_00100.inp2,
commands to make a picture of the dataset using
PLOT_POINTS.
-
halton_02_00100.png,
a PNG image of
the dataset.
-
halton_02_01000.inp,
input to HALTON_DATASET to create the dataset.
-
halton_02_01000.txt,
M = 2, N = 1000, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_02_01000.inp2,
commands to make a picture of the dataset using
PLOT_POINTS.
-
halton_02_01000.png,
a PNG image of
the dataset.
-
halton_02_10000.txt,
M = 2, N = 10000, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
Datasets in M = 2 dimensions, with power of 2 skipping, include:
-
halton_02_00010_a.txt,
M = 2, N = 10, STEP = 16, SEED = 0, LEAP = 1, BASE = default;
-
halton_02_00100_a.txt,
M = 2, N = 100, STEP = 128, SEED = 0, LEAP = 1, BASE = default;
-
halton_02_01000_a.txt,
M = 2, N = 1000, STEP = 1024, SEED = 0, LEAP = 1, BASE = default;
-
halton_02_10000_a.txt,
M = 2, N = 10000, STEP = 16384, SEED = 0, LEAP = 1, BASE = default;
Datasets in M = 3 dimensions, with no skipping, include:
-
halton_03_00010.txt,
M = 3, N = 10, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_03_00100.txt,
M = 3, N = 100, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_03_01000.txt,
M = 3, N = 1000, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_03_10000.txt,
M = 3, N = 10000, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
Datasets in M = 4 dimensions, with no skipping, include:
-
halton_04_00010.txt,
M = 4, N = 10, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_04_00100.txt,
M = 4, N = 100, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_04_01000.txt,
M = 4, N = 1000, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_04_10000.txt,
M = 4, N = 10000, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
Datasets in M = 5 dimensions, with no skipping, include:
-
halton_05_00010.txt,
M = 5, N = 10, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_05_00100.txt,
M = 5, N = 100, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_05_01000.txt,
M = 5, N = 1000, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_05_10000.txt,
M = 5, N = 10000, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
Datasets in M = 6 dimensions, with no skipping:
(number of points in datasets were chosen to match the growth
in size of a 6D sparse grid based on Clenshaw Curtis points)
-
halton_06_00001.txt,
M = 6, N = 1, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_06_00013.txt,
M = 6, N = 13, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_06_00085.txt,
M = 6, N = 85, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_06_00389.txt,
M = 6, N = 389, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_06_01457.txt,
M = 6, N = 1457, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_06_04865.txt,
M = 6, N = 4865, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
Datasets in M = 7 dimensions, with no skipping include:
-
halton_07_00010.txt,
M = 7, N = 10, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_07_00100.txt,
M = 7, N = 100, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_07_01000.txt,
M = 7, N = 1000, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_07_10000.txt,
M = 7, N = 10000, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
Datasets in M = 7 dimensions, with power of 2 skipping, include:
-
halton_07_00010_a.txt,
M = 7, N = 10, STEP = 16, SEED = 0, LEAP = 1, BASE = default;
-
halton_07_00100_a.txt,
M = 7, N = 100, STEP = 128, SEED = 0, LEAP = 1, BASE = default;
-
halton_07_01000_a.txt,
M = 7, N = 1000, STEP = 1024, SEED = 0, LEAP = 1, BASE = default;
-
halton_07_10000_a.txt,
M = 7, N = 10000, STEP = 16384, SEED = 0, LEAP = 1, BASE = default;
Datasets in M = 10 dimensions, with no skipping:
(number of points in datasets were chosen to match the growth
in size of a 10D sparse grid based on Clenshaw Curtis points)
-
halton_10_00001.txt,
M = 10, N = 1, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_10_00021.txt,
M = 10, N = 21, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_10_00221.txt,
M = 10, N = 221, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_10_01581.txt,
M = 10, N = 1581, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_10_08801.txt,
M = 10, N = 8801, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_10_41265.txt,
M = 10, N = 41265, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
Datasets in M = 16 dimensions, with no skipping include:
-
halton_16_00010.txt,
M = 16, N = 10, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_16_00100.txt,
M = 16, N = 100, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_16_01000.txt,
M = 16, N = 1000, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_16_10000.txt,
M = 16, N = 10000, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
Datasets in M = 16 dimensions, with power of 2 skipping, include:
-
halton_16_00010_a.txt,
M = 16, N = 10, STEP = 16, SEED = 0, LEAP = 1, BASE = default;
-
halton_16_00100_a.txt,
M = 16, N = 100, STEP = 128, SEED = 0, LEAP = 1, BASE = default;
-
halton_16_01000_a.txt,
M = 16, N = 1000, STEP = 1024, SEED = 0, LEAP = 1, BASE = default;
-
halton_16_10000_a.txt,
M = 16, N = 10000, STEP = 16384, SEED = 0, LEAP = 1, BASE = default;
Datasets in M = 40 dimensions, with no skipping, include:
-
halton_40_00010.txt,
M = 40, N = 10, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_40_02000.inp,
input to HALTON_DATASET to create the dataset.
-
halton_40_02000.txt,
M = 40, N = 2000, STEP = 0, SEED = 0, LEAP = 1, BASE = default;
-
halton_40_02000_3940.txt,
Columns 39 and 40 of halton_40_02000.txt, extracted by
the COLUMNS program.
-
halton_40_02000_3940.inp2,
commands to make a picture of the 39th and 40th dimensions of
the dataset using
PLOT_POINTS.
-
halton_40_02000_3940.png,
a PNG image of
the dataset.
Datasets in M = 40 dimensions, a nonunit LEAP, include:
-
halton_40_02000_a.inp,
input to HALTON_DATASET to create the dataset.
-
halton_40_02000_a.txt,
M = 40, N = 2000, STEP = 0, SEED = 0, LEAP = 179, BASE = default;
-
halton_40_02000_3940_a.txt,
Columns 39 and 40 of halton_40_02000_a.txt, extracted by
the COLUMNS program.
-
halton_40_02000_3940_a.inp2,
commands to make a picture of the 39th and 40th dimensions of
the dataset using
PLOT_POINTS.
-
halton_40_02000_3940_a.png,
a PNG image of
the dataset.
You can go up one level to
the DATASETS directory.
Last revised on 01 August 2007.