research/lab/py/odd-base-slice-grammar
0 directories and 2 files in research/lab/py/odd-base-slice-grammar.
odd-base-slice-grammar
- Computes the centroid diagonal slice of the odd-base parity solid, the solid whose cells have at most one odd coordinate, as a tile census with no raster.
- The plane
x + y + z = 3*base^level/2meets exactly three integer layers, so a cell is cut as a hexagon at layer offset1and as a triangle at offsets0and2. - Peeling the top digit sends a window to one of three windows only, and complementing digits pairs the outer two, so the census closes on two tile symbols.
- Prints the
2x2substitution matrix on(hexagons, triangles), its two-term recurrence, the dominant root,log_baseof that root, andlog_base(fill) - 1. - Cross-checks the tile recursion against a direct layer census, the full digit-sum distribution built by convolution with no tile reduction.
- Also runs the middle-digit solid, the cells with at most one coordinate equal to
(base-1)/2, which is the other reading of the base-3 sponge. - Domain: matrices and dimensions at base 3, 5, 7, 9; closed forms at odd base 3..21; the
mod 4side test at odd base 3..401 by exact rational comparison of the dominant root againstfill/base; direct layer cross-check to level 6 at base 3, 5 at base 5, 4 at base 7, 9.
RUN
uv run python research/lab/py/odd-base-slice-grammar/slice_grammar.py
WITNESSES
spectra.md:26the four rulesx9 -12,x11 +62,x42 -288,x28 +693spectra.md:26dimensions1.8184 / 1.6869 / 1.8026 / 1.7204spectra.md:26log_base(fill) - 1 = 1.7268 / 1.7304 / 1.7430 / 1.7544spectra.md:28the base-3 target[[6,1],[6,3]]and hexagons1, 6, 42, 306, 2250, 16578, 122202spectra.md:29[[7,3],[30,4]],[[30,3],[24,12]],[[19,9],[96,9]]spectra.md:30both closed forms reproduce every census matrix at base 3..21spectra.md:37112of125,dim_slice = 1.960651against1.931768, excess+2.888e-02spectra.md:3781of125,1.6869against1.7304spectra.md:38themod 4side holds at every odd base up to401
- README.md2.0 kB
- slice_grammar.py7.1 kB