GRG One-Pager

Sep 20, 2025

Scientific correction — 13 October 2026

The nested-radical chord identity is valid in exact arithmetic but its subtractive form can lose significant digits in floating point. Certified polygon bounds require rounding-aware evaluation. Claims about arbitrary profiles, anisotropy, or hardware performance require separate hypotheses and reproducible comparisons.

Current reference: Circle and Area from Binary Radial Modules.

Document Status and Current Reference

This page preserves an earlier formulation or research method. Its notation, formulas, and embedded demonstrations belong to that version and should not be treated as the specification of the current binary radial kernels.

Read the current formulation and its analytical verification. Historical performance statements and implementation behaviour require separate validation. Earlier references to circular constants remain in this historical document; they are not inputs to the current geometric kernel definitions.

GRG in One Page: π-Free Corridors, Benchmarks, and a Lean Mini-App

This single page addresses reviewer questions with concrete numbers, one minimal code box, and a practical validation plan. All constructions are turns-first and dyadic: b ∈ ℕ≥0, N = 2^b, step Δu = 2^{-(b+2)} = 1/(4N). We use only sums and square roots.

1) Worked example (r = 100) with certified circumference/area corridors

Let c_N be the unit-radius chord spanning an arc of 1/N turns. Starting from the square, c_4 = √2, we refine dyadically by a π-free half-angle step:

$$ c_{2N} \;=\; \sqrt{\,2 \;-\; 2\sqrt{\,1 - \tfrac{c_N^2}{4}\,}\,},\qquad c_4=\sqrt{2}. $$

With radius r, certified inscribed/circumscribed perimeters and areas are

$$ \begin{aligned} C_N^{-} &= N\,r\,c_N, \qquad t_N = \frac{c_N}{\sqrt{\,1-(\tfrac{c_N}{2})^2\,}}, \qquad C_N^{+} = N\,r\,t_N,\\[4pt] A_N^{-} &= \tfrac{1}{2}\,C_N^{-}\,\underbrace{r\sqrt{1-(\tfrac{c_N}{2})^2}}_{\text{apothem}},\qquad A_N^{+} = \tfrac{1}{2}\,C_N^{+}\,r. \end{aligned} $$

Hence a certified corridor for π:

$$ \pi \;\in\; \Big[\,\tfrac{C_N^{-}}{2r},\; \tfrac{C_N^{+}}{2r}\,\Big]. $$

Numeric results (r = 100; dyadic N)

NCN−CN+π corridorwidthmidAN−AN+
8612.2934918662.7416998[3.06146746 , 3.31370850]0.252241043.1875879828 284.271247533 137.0849898
16624.2890305636.5195756[3.12144515 , 3.18259788]0.061152733.1520215230 614.674589231 825.9787807
32627.3096981630.3449815[3.13654849 , 3.15172491]0.015176423.1441367031 214.451522631 517.2490743
64628.0662314628.8236770[3.14033116 , 3.14411839]0.003787233.1422247731 365.484905531 441.1838525
Certified corridors for circumference and area using only sums and square roots (r = 100).
Chord–Tangent–Apothem construction Unit circle with one edge of an N-gon: chord c, tangent t, and apothem a; all lengths obtained with square roots only. apothem cN tN
Chord (inscribed), tangent (circumscribed), and apothem define GRG corridors.

2) One minimal code box (Python) that reproduces the table

Drop-in, π-free implementation. Only square roots and sums via half-angle edge doubling.

# GRG: π-free corridors for circumference and area (dyadic N=2^b)
# r: radius; N: number of edges (dyadic)
import math

def c_dyadic(N):
    # start from square (N=4): c_4 = sqrt(2)
    if N & (N-1):
        raise ValueError("N must be a power of 2")
    if N < 4:
        raise ValueError("N must be >= 4")
    c = math.sqrt(2.0)
    n = 4
    while n < N:
        c = math.sqrt(2.0 - 2.0*math.sqrt(1.0 - 0.25*c*c))
        n *= 2
    return c  # unit radius

def corridors(r=100.0, b_list=(3,4,5,6)):
    out = []
    for b in b_list:
        N = 2**b
        c = c_dyadic(N)
        t = c / math.sqrt(1.0 - (0.5*c)**2)  # computed π-free
        C_minus = N * r * c
        C_plus  = N * r * t
        apothem = r * math.sqrt(1.0 - (0.5*c)**2)
        A_minus = 0.5 * C_minus * apothem
        A_plus  = 0.5 * C_plus  * r
        pi_lo, pi_hi = C_minus/(2*r), C_plus/(2*r)
        out.append(dict(N=N, C_minus=C_minus, C_plus=C_plus,
                        A_minus=A_minus, A_plus=A_plus,
                        pi_low=pi_lo, pi_high=pi_hi,
                        width=pi_hi-pi_lo, mid=0.5*(pi_hi+pi_lo)))
    return out

if __name__ == "__main__":
    for row in corridors():
        print(row)

Why this matters: Reviewers asked for “real code.” The snippet above is reference-grade and numerically stable for dyadic N in double precision.

3) Mini-calculator (in-page): corridor and area, π-free

Try different radii and resolutions. The calculator only uses the recursion above (no trigonometric calls).

4) External validation: baselines, datasets, metrics

4.1 Baselines

  • Geometry: regular polygon perimeter/area via trig (reference), rasterization by angular stepping, standard kernel approximations.
  • Optics: Zernike-based phase optimization (asphere/phase plate) and uniform samplers; compare against GRG dyadic turns.
  • Chemistry: radial distribution (isotropic) vs. anisotropic stress tests; compare GRG dyadic shells to uniform/log binning.

4.2 Datasets and tasks

  • Circles/Spheres: circumference/area/volume corridors at fixed sample budgets.
  • Optical toy problem: paraxial lenslet: maximize on-axis MTF at a target spatial frequency under a fixed simulator budget.
  • Chemical toy problem: radial distribution functions with/without anisotropy; report L_2 error vs. a high-precision reference.

4.3 Metrics and stats

  • Error vs budget: corridor width or absolute error vs. number of samples.
  • Time vs accuracy: seconds to reach a target error.
  • Robustness: worst-case error across seeds; bootstrap CI.

5) Scalability and complexity

Cost: computing c_N is O(log N) half-angle steps; producing C_N^{±}, A_N^{±} is O(1).

Beyond circles/spheres: For radially defined profiles, GRG’s dyadic turns yield nested certified bounds. For anisotropy, use a wedge-stratified scheme: split [0,1) turns into dyadic wedges and apply GRG within each wedge; corridors add up across wedges.

6) GRG Mini-App: current status and UI notes

  • Scope: live computation of C_N^{±}, A_N^{±}, π corridor, and dyadic overlays (“inscribed polygon preview”, “row layout”).
  • Roadmap: public demo + short tutorial video; CSV export of computed corridors; copy-paste of the Python above.
  • Accessibility: keyboard-operable sliders for b, ARIA live regions on numeric outputs (as in the mini-calculator).

7) What to expect next

  • Open-source drop: the single Python file (MIT/BSD-3) + tiny unit tests.
  • Benchmarks: publish results vs. Zernike and uniform samplers on the toy problems; scripts and seeds included.
  • Papers & talks: π-free corridor proofs, dyadic error scaling, wedge-stratified anisotropy experiments.

8) Optics: toy MTF setup (micro-section)

This toy problem shows how GRG guides sampling while any preferred field solver evaluates performance. We optimize a rotationally symmetric height profile under a fixed evaluation budget.

8.1 Objective

$$ \text{maximize}\;\; \mathrm{MTF}(f_0) \;=\; \big|\mathrm{OTF}(f_0)\big|, \qquad \mathrm{OTF} = \mathcal{F}\{\mathrm{PSF}\} $$

Constraints: height range (manufacturability), smoothness (bounded second difference), and a hard cap on simulator calls.

8.2 GRG sampling policy

  • Choose dyadic level b; sample radii on N=2^b turns (rings). For anisotropic stress tests, split the pupil into dyadic wedges and apply the same policy per wedge.
  • At each refinement, reuse prior evaluations (nested design), cutting waste in flat regions.

8.3 Budget-fair comparison

  • Compare against equal-angle and equal-arc samplers at the same number of simulator calls.
  • Report \Delta \mathrm{MTF} = \mathrm{MTF}_{\text{GRG}} - \mathrm{MTF}_{\text{baseline}} and time-to-target MTF.

8.4 Reproducibility hook

The π-free recursion and nested sampling policy above serve as the public spec. A scalar paraxial PSF/OTF evaluator—or your preferred solver—can be dropped in without altering the sampling design.