research/lab/py/slice-at-large-side
0 directories and 2 files in research/lab/py/slice-at-large-side.
slice-at-large-side
- Computes the central hexagon
x + y + z = 3(N-1)/2of the dim 3 parity designs at large odd side and on words of growing odd sides, from the carry blockS_bofnotes/spectra.md. - A word
(b_1, .., b_L)lists its letters coarsest first; its count is(S_(b_L) .. S_(b_1))[0, 0]and its ink is the count over the(3N^2 + 1)/4lattice points of the hexagon. wordscounts the slice by brute force over every lattice point of the plane, by the3x3carry automaton and by the2x2block, on twelve words for code 23 and four words for each of seven other codes, and checks that no carry leavesabs(c) <= 1.letterderives the block as polynomials inbper class ofb mod 4by inclusion-exclusion on boxes, checks them against the digit polynomial at oddb = 3..101and against the closed forms of spectra, splitsS_b/b^2 = A + B/b + B_2/b^2, checks the three-carry limitf(c') q(c + c' + g), matchesAto[[3u/4, v/8], [3v/2, u/4]], and prints the Perron roots, the exactrho_b, the first-order coefficientmuand the side expansionlog(2 lambda) + (mu - 3/2)/b.driftderives the drift exponents1/4,1/4 + 1/(2 sqrt(7))and(2 + sqrt(2))/4by first-order perturbation of the limit letter and of the limit pair in both orders, then runs four words to length32000in floats and prints the local exponent atL -> 2LforL = 4000, 8000, 16000and one Richardson step.constantsruns the same four words at 40 digits toL = 16384and16385, divides the ink bylambda^L L^gamma, extrapolates by Neville in1/Lat two depths and prints their agreement, then the blink ratio against its derived valuesqrt((5 sqrt(2) - 1)/3).closedchecksS_(4k-1) = (k/2)(k K_1 + K_0), the polynomial identity behindW = (1 - 24z + 96z^2)^(-3/4) (1 - 6z, 12z), the series against the integer product atL = 1..60, andGamma(3/4)(1 + sqrt(3)) / (3 (sqrt(3) - 1)^(3/4))against the extrapolated constant, printed to 25 digits.designsruns all 255 nonempty codes through their 63 weight classes: the symbolic block per class against the digit polynomial at oddbup to61, the limit letter against[[3u/4, v/8], [3v/2, u/4]], the real roots of the two sign polynomials and of the case guards_01 s_10(s_00wheres_01vanishes), the codes whose block has a zero diagonal on a class, an exact sign check at every odd base up to15, the lawsgn(o - e)at3 mod 4andsgn(e - o)at1 mod 4, and the automaton row sums of thee = odesigns at oddb = 3..41.- Exact arithmetic everywhere except
drift, in floats, andconstants, in mpmath at 40 digits. Runtimes:words0.1s,letter0.2s,drift0.2s,constants1.9s,closed0.3s,designs0.7s; all six 3.7s.
RUN
uv run python research/lab/py/slice-at-large-side/large.py
uv run python research/lab/py/slice-at-large-side/large.py words
uv run python research/lab/py/slice-at-large-side/large.py letter
uv run python research/lab/py/slice-at-large-side/large.py drift
uv run python research/lab/py/slice-at-large-side/large.py constants
uv run python research/lab/py/slice-at-large-side/large.py closed
uv run python research/lab/py/slice-at-large-side/large.py designs
WITNESSES
spectra.mdTHE SLICE AT LARGE SIDE, The word product, the counts60, 72, 2412, 2688, 300: verbwords, no mismatch.spectra.mdTHE SLICE AT LARGE SIDE, The letter at infinite side, the limits, the Perron roots, the exact roots and the side expansion: verbletter.spectra.mdTHE SLICE AT LARGE SIDE, The drift, the exponents and the local fits: verbdrift.spectra.mdTHE SLICE AT LARGE SIDE, The constants, the closed form at sides3 mod 4: verbclosed; the blink and the extrapolated constants: verbconstants.spectra.mdTHE SLICE AT LARGE SIDE, Every parity design, the letter of every design, the ties and the sign law: verbdesigns, no mismatch and no violation.