Interactive companion · practice
The theorems certify separation at special sizes and, through the prefix lemma, a weaker floor for every N. In practice one stops wherever one likes. This page measures the worst separation over every prefix up to 223 points in dimension three, compares the residue sequences with the usual alternatives, and shows how to randomise them without losing the bound.
Measured values are exact separations of the plotted point sets (toroidal) and are illustrations, not theorems. Separation is not integration error; the paper does not test integration.
Progressive rendering, stippling or adaptive sampling add points until some criterion says stop, so the number of points is not known in advance. The relevant quantity is the separation of every prefix, and the paper reports its worst value over a practical range,
𝒥 = min over 64 ≤ N ≤ 223 of sep(P[N]) = δ(P[N])·N1/3,
exact, in dimension three. It is easy to read: a sequence with 𝒥 = 0.25 never puts two of its first N points closer than a quarter of the grid spacing, for any N in the range. The curves below are drawn exactly from the prefix sizes at which δ drops (between drops, δ is constant and sep rises like N1/3).
Exact sep(P[N]) for every N ≤ 223, dimension three (fig:evidence): the residue sequence of tab:practice at p = 31 (places (8, 0, 16), θ = 9, v = (10, 30, 7)), with its certified bound 0.636 at N = p2 (bar; the next certified size p5 lies beyond 223) and 0.020 for every N (dotted); Faure (I, P, P2) in base 31; Owen-scrambled Sobol', three seeds. Open dots: the minima over 64 ≤ N ≤ 223.
| sequence | p | data | 𝒥 | certified P3K−1 | P3K | all N |
|---|---|---|---|---|---|---|
| residue sequence | 13 | (2, 9, 10), 12, (5, 3, 6) | 0.248 | 0.425 | 0.076 | 0.032 |
| 17 | (2, 9, 6), 12, (4, 10, 16) | 0.235 | 0.388 | 0.058 | 0.022 | |
| 23 | (18, 22, 15), 5, (4, 14, 20) | 0.251 | 0.497 | 0.061 | 0.021 | |
| 31 | (8, 0, 16), 9, (10, 30, 7) | 0.267 | 0.636 | 0.064 | 0.020 | |
| Faure (best: p = 11) | 7–31 | 0.059–0.140 | – | – | – | |
| random linear scrambles | 31 | median / best of 150 | 0.117 / 0.217 | – | – | – |
| Sobol' / Owen-scrambled | 2 | 3 seeds (Owen) | 0.035 / 0.015–0.039 | – | – | – |
tab:practice. Data of a residue sequence: places, scale θ, check vector v; each is the best of 600 candidates scanned for 𝒥. Certified (truncated): at N = p3K−1 for every K (thm:residue), the inclusion bound at the full levels (rem:residuefull), and the bound for every N (cor:residueQU). The residue sequences reach six to eighteen times the 𝒥 of Owen-scrambled Sobol', whose separation keeps decaying, and 1.7 to 1.9 times the best plain Faure sequence. At its first full level N = p3 the Faure sequence is better (0.757 against 0.489 at p = 31).
The same measurement over a shorter range, computed here from the generator matrices: the residue sequences of the table (built from their data by the formula of def:residue), the Faure sequence in the same base, Owen-scrambled Sobol' with a seed of your choice (Joe–Kuo direction numbers; the nested scramble is driven by a hash of the digits above), and independent random points. The minimum over a shorter range is larger than over 223, since fewer prefixes are tested.
Randomised quasi-Monte Carlo needs many independent copies of a sampler. Owen scrambling redraws every digit below the stratum at random; it makes every (t, s)-sequence almost surely non-quasi-uniform (Suzuki) and would undo the constructions here. A digital shift adds one fixed random digit vector to every point, digit by digit modulo p. It keeps every certified bound (lem:shift): for the residue sequence the shifted prefix PsK−1 again occupies one coset of the lattice Λv, one point per fine cell, so the bound is the same. A uniformly random shift makes each point uniform and gives unbiased estimators.
The residue sequence of the table at p = 13. A shift must be additive in 𝔽p: a non-affine permutation of a geometric digit keeps the net property but can break the offset map (it brought the brick wall at p = 5 down to sep(P6) = 0.068, below its certified 0.2). The lemma keeps the certified bound, not the exact separation.
A sequence in base p is stratified in base p, not in base 2: renderers that rely on dyadic strata at power-of-two sample counts should use base 2 or 4 (thm:B2, thm:K4, thm:S4). Within one base, sep(P[N]) fluctuates with the position of N between powers of p, more so for large p; for the residue sequences the smallest values come just after the certified sizes, when the first points of the next block arrive. A point costs ⌈logp N⌉ table lookups and additions per coordinate. The guarantees concern the geometry of the point sets: they matter where clumping at an unknown, open-ended number of samples must be excluded. Separation and integration error are different quantities, and a comparison on rendering integrands is the obvious next experiment.
Companion to L. Gruenschloss, Low-discrepancy quasi-uniform digital sequences in every dimension (draft v4, 2026), cited by its \label names. Results without a credit are from that paper. Where these pages call a statement new, it means: not found in the literature we searched (through October 2026).
On this page: Owen scrambling is due to Owen, and the almost-sure failure of quasi-uniformity of Owen-scrambled (t, s)-sequences to Suzuki; the Sobol' sequence to Sobol', with the direction numbers of Joe and Kuo; the Faure sequence to Faure. In computer graphics, separation is an explicit design goal: nets with large minimum distance, a new net for each size (Grünschloß, Hanika, Schwede and Keller; Grünschloß and Keller), optimised dyadic nets (Ahmed and Wonka), and sequences built by randomised best-candidate choices with empirical separation (Christensen, Kensler and Kilpatrick; Helmer, Christensen and Kensler).