# Download generate.py from the attached files.
from generate import area_constant
area_constant(4, (4, 2), 'odd', digits=100)# Hyperelliptic components: zeros=1 for H(2*g-2), zeros=2 for H(g-1,g-1).
import numberdb.sage as numberdb
from sage.rings.integer_ring import ZZ
from sage.rings.rational_field import QQ
from sage.rings.real_arb import RealBallField
def hyperelliptic_area(g, zeros=1, digits=100):
g = ZZ(g)
if g < 2 or zeros not in (1, 2):
raise ValueError('Use genus g >= 2 and one or two zeros.')
if zeros == 1:
q = QQ(g*(2*g+1)) / QQ(2*g-1)
else:
q = QQ((g+1)*(2*g+1)) / QQ(2*g)
field = RealBallField(numberdb.bits(digits, losing=64))
return field(q) / field.pi()**2
hyperelliptic_area(4, zeros=2, digits=100)The exact rational Lyapunov sums in [1], Corollary 2 and the exact columns of Appendix A, are substituted into Theorem 1 to obtain a positive rational coefficient of $1/\pi^2$. Each coefficient is evaluated with certified Arb arithmetic. At 100 requested significant digits, the 64-bit working guard gives at least 393 bits of relative accuracy. An independent 512-bit MPFI evaluation lies inside the exact uncertainty interval asserted by every written decimal, and 160-digit recomputations agree with all 25 enclosures.
All source sums were checked against the printed exact column. Six hyperelliptic entries also agree with the genus-zero double-cover formula. Eleven entries agree with cylinder-weighted sums of the configuration constants in [2], using the Vorobets relation stated in [5]. EKZ itself uses EMZ data, so this is a source-consistency check rather than an independent derivation. Three entries additionally agree with the geometric divisor arguments of [4]; altogether, additional mathematical checks cover 16 distinct entries. The remaining nine rely on the exact published EKZ data and theorem, with transcription and interval checks. The generator, selection rationale, controls and reproducible checks are attached.