README.md
1.8 kB · markdown
sponge-visible-census
- Exact count
A(level)of visible (gcd 1) nonzero points of the Menger sponge at that level, without enumerating the20^levelpoints. - Split at a cutoff
G: points with1 < gcd <= Gcancel exactly insideSum_{d <= G} mu(d) (T_d(n) - 1), whereT_d(level)counts points divisible bydfrom one transfer pass on(Z/d)^3. - Points with
gcd > Gareg*ywithyprimitive in a box of side(3^level - 1)/g, tested for membership digit by digit and weighted bySum_{d | g, d <= G} mu(d). - Cross-checks: direct enumeration at level 1..6 matching
12, 270, 5916, 123504, 2538447, 51497040, andA(9)recomputed atG = 100andG = 150, which split head and tail differently. - Also prints the second-order gap
(delta*20^level - A(level)) / 12^levelwith12 = fill*lambda. - The bracket is derived, not quoted:
19of the20digits are nonzero, times27/26for the prime3, gives513/520, sodelta = (513/520)/zeta(3) = 0.8207086195.
RUN
uv run python research/lab/py/sponge-visible-census/census.py 9
- From the repo root. Argument is the top level; default 9.
- Whole run takes about 1 min 24 s on one core,
A(9)alone 23 s. - Domain run is the full source domain: level 1..9, coordinates
0..19682, cutoff ladderG = round(3^(level/2))capped at 120.
WITNESSES
- the claims line (was
DISCOVERIES.md:160) -A(7) = 1038074187,A(8) = 20860210527,A(9) = 418429711224, andG = 100andG = 150agreeing onA(9). - the claims line (was
DISCOVERIES.md:320) - the gaps0.347, 0.349, 0.344in units of12^level. coprime.md:251- the base 3 carpet bracket513/520.coprime.md:282- the same three counts under "Counting without enumerating".coprime.md:283- the same three gaps.