Script: h12_ambient_dual_slice_verify.py
Hilbert 12: ambient dual slice
h12_ambient_dual_slice_verify.py
This is the original source text. Reading it does not run or verify the program.
1 #!/usr/bin/env python3
2 """Exact Hilbert 12 cubic ambient-duality and character-packet checks.
3
4 Finite polynomial and matrix algebra only. Does NOT check elliptic gamma
5 algebraicity or prove the Hilbert 12 analytic comparison. Requires sympy.
6 """
7 import sympy as s
8
9 M=s.Matrix([[0,1,0],[-4,2,15],[-1,0,4]])
10 H=s.Matrix([[4,-4,15],[-4,1,0],[15,0,0]])
11 I=s.eye(3); N=M-2*I
12 u=s.Matrix([1,2,4]); v=s.Matrix([0,1,2]); w=s.Matrix([0,0,1])
13 B=s.Matrix.hstack(u,v,w)
14 assert M.det()==1
15 assert N**3==-7*I
16 assert s.discriminant(M.charpoly().as_expr())==-1323
17 assert M.T*H==H*M and H.det()==-225
18 assert B.det()==1
19 assert (B.T*H*B).applyfunc(lambda x:x%7)==s.Matrix([[0,0,1],[0,1,0],[1,0,0]])
20 for a,b in [(N*u,s.zeros(3,1)),(N*v,u),(N*w,v)]:
21 assert all(int(x)%7==0 for x in a-b)
22 assert all(int((u.T*H*x)[0])%7==0 for x in (u,v))
23 assert int((u.T*H*w)[0])%7==1
24
25 vectors=(s.Matrix([a,b,c]) for a in range(7) for b in range(7) for c in range(7))
26 kerN=[];kerN2=[]
27 for a in vectors:
28 if all(int(x)%7==0 for x in N*a): kerN.append(a)
29 if all(int(x)%7==0 for x in (N**2)*a): kerN2.append(a)
30 assert len(kerN)==7 and len(kerN2)==49
31 assert all(int((u.T*H*a)[0])%7==0 for a in kerN2)
32 assert M.T*H*M.inv()==H
33
34 # 1/J=(-1-3omega)/7; 1/Jbar=(2+3omega)/7.
35 # The oriented Weil exponent e_{7,H}(x/J,y/Jbar) is 3*x^T*H*y mod 7.
36 def phase(x,y):
37 return int(3*(x.T*H*y)[0])%7
38 assert phase(u,w)==3 and phase(u,u)==0
39 for a in range(7):
40 for b in range(7):
41 assert phase(u,w+a*u+b*v)==3
42 for r in range(1,7): assert phase(u,r*w)==3*r%7
43
44 beta=s.symbols('beta')
45 tau=(beta**2+2*beta)/15
46 sigma=-(beta+2)/15
47 delta=(tau+2*sigma+4)/7
48 assert s.simplify(delta-(beta**2+56)/105)==0
49 for expr in [beta*delta+8*sigma+1, (2-beta)*delta-2*delta-8*sigma-1]:
50 assert s.rem(s.together(expr).as_numer_denom()[0],beta**3-7,beta)==0
51
52 omega=s.symbols('omega')
53 def red(expr): return s.rem(s.expand(expr),omega**2+omega+1,omega).expand()
54 J=2+3*omega;Jbar=-1-3*omega
55 assert red(J+Jbar)==1 and red(J*Jbar)==7
56 chi={1:s.Integer(1),2:omega,3:omega**2,4:omega**2,5:omega,6:s.Integer(1)}
57 def mul(a,b):
58 out=[s.Integer(0)]*7
59 for i in range(7):
60 for j in range(7):out[(i+j)%7]+=a[i]*b[j]
61 return [red(t) for t in out]
62 g1=[s.Integer(0)]*7
63 for k in range(1,7):g1[k]=red(chi[k])
64 for r in range(1,7):
65 g=[s.Integer(0)]*7
66 for k in range(1,7):g[(r*k)%7]+=chi[k]
67 g=[red(t) for t in g]
68 assert mul(mul(g,g),g)==[red(6*J)]+[red(-J)]*6
69 assert all(red(g[k]-red(chi[r]**2)*g1[k])==0 for k in range(7))
70
71 # Integral Eisenstein coordinates of the cubic character:
72 # chi(k)=a(k)+omega*b(k).
73 a={1:1,2:0,3:-1,4:-1,5:0,6:1}
74 b={1:0,2:1,3:-1,4:-1,5:1,6:0}
75 assert all(red(a[k]+omega*b[k]-chi[k])==0 for k in range(1,7))
76 # Upon index relabeling f'_k=f_{2k}, (A,B)->(B/A,1/A).
77 T=s.Matrix([[-1,1],[-1,0]])
78 assert T**3==s.eye(2) and T.det()==1
79 assert [a[(4*k)%7] for k in range(1,7)]==[b[k]-a[k] for k in range(1,7)]
80 assert [b[(4*k)%7] for k in range(1,7)]==[-a[k] for k in range(1,7)]
81
82 print('PASS matrix/codifferent algebra and nilpotent filtration')
83 print('PASS no-go for pairing opposite fixed vectors and nontrivial dual phase')
84 print('PASS six Gauss-cube identities, independent of nonzero character slice')
85 print('PASS principal-seven shift and exact epsilon carry identity')
86 print('PASS two integral character coordinates and order-three torus action')
87 print('LIMIT: No elliptic-gamma scalar equality or formal Lean check was proved')
Original file and source record
This copy matches the recorded source file. Its publication here does not change the work’s review status.
SHA-256: 05fd719e122f13e44cb1c5df63f16ef92e1456d170c87e7680b6d35c305cfe77