compute.py

back to table · edit · history · where entries came from · files · download

1089 bytes, as of the version from 2026-10-30 06:50 (current). Recorded here, not run.

import numberdb.sage as numberdb
from sage.rings.real_mpfr import RealField
from solver import radius
import time,json,platform,sys
import sage.version
runs={};F=RealField(numberdb.bits(210))
for n in ['0','1','1/2','3/2','2','5/2','3','7/2','4','9/2']:
    start=time.time();a,qa,ma=radius(n,150,160,12,'1/2',True)
    b,qb,mb=radius(n,210,210,18,'2/3',True)
    error=abs(F(a)-b)/b
    assert error<F(10)**-125,(n,error)
    item={'low':str(a),'high':str(b),'relative_difference':str(error),'low_run':ma,'high_run':mb}
    if n in ['0','1']:
        control=F(6).sqrt() if n=='0' else F.pi()
        err=abs(b-control)/control
        assert err<F(10)**-190
        item['closed_form_relative_error']=str(err)
    runs[n]=item;print('ROW',n,'relative difference',error,'seconds',time.time()-start,flush=True)
print('DATA '+json.dumps({'values':runs,'versions':{'sage':sage.version.version,'python':platform.python_version()},'skill_manifest':'../20261030T005732Z-build-skills/manifest.json','skill_sha256':'28ecbeeccb0c5e5d6eb541b5a5b0f88aec47b154374d909085116d34f5629199'}),flush=True)