"""Recompute all eighteen E7 boundary coefficient kernels over Q. This checks uniqueness on the displayed support sets. The fact that these sets bound the intrinsic expansions is the separate geometric/support calculation. """ from pathlib import Path import json namespace={} exec(Path(__file__).with_name('e7_divisors.py').read_text().split('func=[]')[0],namespace) s=namespace['s'];v=namespace['v'];W=namespace['W'];first=namespace['first'] F={} for I,expr in [(namespace['I1'],first[0]),(namespace['I2'],first[1]),(namespace['I3'],first[2]),(namespace['I4'],first[3])]: num=s.expand(expr*s.prod(v[j-1] for j in I)) for i in I:F[i-1]=num for i,expr in zip([2,3,4,8,9,10],first[4:]):F[i-1]=s.expand(expr*v[i-1]) def exponent(term):return tuple(int(term.as_powers_dict().get(x,0)) for x in v) records=[] for j,expr in enumerate(W): expr=s.expand(expr);mons=[exponent(t) for t in expr.as_ordered_terms()] assert len(set(mons))==len(mons) assert all(s.cancel(t/s.prod(x**a for x,a in zip(v,m)))==1 for t,m in zip(expr.as_ordered_terms(),mons)) rows={} for i in range(20): terms=s.expand(F[i]).as_ordered_terms();assert len(terms)==2 aa,bb=map(exponent,terms);delta=tuple(b-a for a,b in zip(aa,bb)) pivot=next(k for k,d in enumerate(delta) if abs(d)==1) for t,m in enumerate(mons): if m[i]>=0:continue assert m[i]==-1,(j,i,m[i]) q=m[pivot]*delta[pivot] residue=tuple(m[k]-q*delta[k] for k in range(20)) key=(i,residue) rows.setdefault(key,[0]*len(mons))[t]+=1 if q%2==0 else -1 M=s.Matrix(list(rows.values())) if rows else s.zeros(0,len(mons)) assert M.rank()==len(mons)-1,(j,M.shape,M.rank()) assert M*s.ones(len(mons),1)==s.zeros(M.rows,1) if len(mons)>1: _,I=M.T.rref();I=list(I);_,J=M[I,:].rref();J=list(J) det=M[I,J].det();assert abs(det)==1 else:I=[];J=[];det=1 records.append({'boundary':j,'support':[list(m) for m in mons], 'rows':[[int(c) for c in row] for row in M.tolist()],'rank':int(M.rank()), 'independent_rows':I,'minor_columns':J,'minor':int(det)}) print('W'+str(j),'support',len(mons),'rank',M.rank(),'minor',det,flush=True) Path(__file__).with_name('e7_boundary_certificates.json').write_text(json.dumps({'boundary_cases':records},indent=2)) print('PASS: eighteen normalized coefficient-one kernels.')