Interactive companion · the digit relaxation
A (0,2)-sequence puts one point in every cell at every full level. Separation is decided inside the cells: where each point sits, and how that position changes from a cell to its neighbour. This page shows how the paper turns that into a lower bound that holds at every level at once, following its running example, the brick wall W⁻ in base 7, and then the base-2 sequence of thm:B2.
At level K the first K digits of each coordinate name the cell. The next digit, the geometric digit rc, says in which seventh of the cell the point lies; the remaining digits, the jitter, move it by less than one seventh. The position predicted by the geometric digits alone is the lattice image. (Cells, geometric digits, jitter and lattice image are the notions of the companion nets paper.) Click a cell of P2 (49 points, level 1) to read its point; the default is the paper's worked example, the index polynomial V = 3 + z (integer index 10).
Arrow keys move the selected cell when the picture has focus.
Step from a cell to its right neighbour. The cell index n0 goes up by one, and its last l digits change, where l − 1 trailing digits were 6: the carry length. The geometric digits change by the carry response D(l), one column of residues per carry length. Where all steps have l = 1 the points form one sheared lattice. At a boundary of depth l ≥ 2 (every 7l−1-th boundary) the lattice image changes by D(l) instead of D(1): a jump of depth l. Where a geometric digit wraps around modulo 7 the lattice is offset by a cell: a slip plane. For a self-similar scramble the responses do not depend on the level (prop:law), so the whole hierarchy repeats at every scale.
The carry responses of W⁻ for l = 1, …, 18, computed in your browser at level 19 from the generator matrices (and in gen_data.py at levels 19 and 20, which agree). Green: the two constant responses, the same for every l (the half of the brick wall, from the residue theorem, page 2). The other two are never eventually periodic (prop:N2).
Take one coordinate. The point sits at R/7 plus a jitter below 1/7; its neighbour sits at e + (R + σ)/7 plus its own jitter, where e = 1 if this coordinate moves to the next cell and e = 0 if it stays, and σ is the change of the geometric digit given by the carry response. We do not know R, so we take the worst one and subtract one seventh for the two jitters: that is the guaranteed gap f1(e, σ). A backward shift of a moving coordinate is harmless; the forward shift by one is fatal (the two points can touch); a coordinate that stays is safe only when σ is near ±½.
Two points two or more cells apart in some coordinate are at least one cell apart. So only the eight neighbours matter, four up to sign: right, up, diagonal and antidiagonal. For a step, each moving coordinate crosses a boundary of some carry length, the carry responses give the change σ of both geometric digits, and the two coordinate gaps add in squares. The bound LBj of the digit relaxation (lem:cert) is the minimum over all steps and all carry lengths. For a self-similar scramble the responses are the same at every level, so this one minimum bounds sep(P2K) for every K at once.
Choose a step and carry lengths. The picture shows the worst case in cell units: the point's jitter square at its worst position, the neighbour's jitter square shifted by the step and by σ, and the guaranteed gap. The panel also samples real neighbour pairs of the actual prefix with exactly these carry lengths and reports their smallest distance, which can never fall below the guarantee.
In base 2 a response is not a small shift but a 12-bit mask XORed onto the geometric digits. Infinitely many carry lengths could give infinitely many masks; for the sequence of thm:B2 they do not. The response to a carry of length l depends only on the pattern of l: its parity and the bits ⌊log2 n⌋ mod 2 for l ≤ n ≤ l + 12. Every l ≥ 64 has the pattern of a smaller one, in a lower octave: long carries repeat short ones (lem:octave). So 63 carry lengths give all masks, 35 distinct 12-digit tuples, and the digit relaxation is one finite minimum. This sequence is a scramble of both coordinates of the two-dimensional Sobol' sequence (Sobol'), with sep(P2K) ≥ 0.3678 for every K (computer-assisted). It answers a question of Dick, Goda and Suzuki (Part II, Section 4.2): it is well-separated in their sense (their Def. 3.8). Both coordinates have to be scrambled: they showed that the scrambles (L, P) and (I, LP) in base 2 are not quasi-uniform (their Thm. 4.2), and cor:unscrambled extends this: while one coordinate stays a radical inverse up to a scalar, no fixed lower-triangular scramble of the others helps (page 1).
The digit relaxation takes the worst position in each coordinate separately, so it is a valid lower bound without knowing where the points are, and it can be loose (base 2: certified 0.3678, exact sep(P12) = 0.3968). Its only infinite input is the set of responses {D(l) : l ≥ 1}. Two responses of one column are never both eventually periodic (prop:N2), and in dimension two no scramble of the frame (0, 1; ∞) has a sheared lattice without jumps at two consecutive levels (cor:N1). The paper keeps the responses harmless in three ways: make a few of them constant by the residue theorem (page 2); keep the rest in windows of allowed values (page 3); or, in the smallest bases, choose frames whose responses take finitely many values, as in section 5 (sec:frames).
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: cells, geometric digits, jitter and the lattice image come from the companion nets paper; the question answered by the base-2 sequence is that of Dick, Goda and Suzuki (Section 4.2), and the earlier base-2 negative result is their Theorem 4.2. The Sobol' sequence is due to Sobol'.