r2_lp1d.py (verification run on the final text, 2026-10-20)
python 3.13.5 numpy 2.5.2
sanity k=1, n=1, node 1/2: r = 0.2500000000 (exact 1/4)
sanity k=1, n= 2 midpoints: n r = 0.2500000000 (exact 1/4)
sanity k=1, n= 3 midpoints: n r = 0.2500000000 (exact 1/4)
sanity k=1, n= 5 midpoints: n r = 0.2500000000 (exact 1/4)
sanity k=1, n=10 midpoints: n r = 0.2500000000 (exact 1/4)
sanity k=2, n=1, node 1/2: r = 0.0416666667 (exact 1/24 = 0.0416666667)
sanity k=3, n=1 < N_k: r = inf (expected unbounded: the polynomial (x-1/2)^2 vanishes at 1/2)
n < N_k = k does not force an infinite free radius (the note does not claim it does):
   k=3, n=2 equidistant: n^k r_S (LP) = inf
   k=4, n=2 equidistant: n^k r_S (LP) = inf
   k=4, n=3 equidistant: n^k r_S (LP) = 0.01093749983443093
   (k = 4, n = 3: the only cubic vanishing at 1/6, 1/2, 5/6 is odd about 1/2, so its integral is 0)

bracket: n^k r_0 (Dirichlet LP) <= K_k (2 pi)^(-k) <= n^k r_S (free LP), equidistant nodes
 k   n    G   n^k r_0 (LP)     K_k(2pi)^-k      n^k r_S (LP)    order
 1    1   32  0.125000000   0.250000000   0.250000000   ok
 1    2   32  0.187500000   0.250000000   0.250000000   ok
 1    4   32  0.218750000   0.250000000   0.250000000   ok
 1    8   32  0.234375000   0.250000000   0.250000000   ok
 1   16   32  0.242187500   0.250000000   0.250000000   ok
 1   32   16  0.246093750   0.250000000   0.250000000   ok
 1   64    8  0.248046875   0.250000000   0.250000000   ok
 2    2   32  0.026267604   0.031250000   0.041666667   ok
 2    4   32  0.028180959   0.031250000   0.034846854   ok
 2    8   32  0.029672826   0.031250000   0.032986637   ok
 2   16   32  0.030459252   0.031250000   0.032115923   ok
 2   32   16  0.030818233   0.031250000   0.031661431   ok
 2   64    8  0.030988421   0.031250000   0.031412760   ok
 3    3   32  0.004605430   0.005208333   0.015625000   ok
 3    6   32  0.004928960   0.005208333   0.013394782   ok
 3   12   32  0.005067262   0.005208333   0.009188874   ok
 3   16   32  0.005102526   0.005208333   0.008193520   ok
 3   24   16  0.005132636   0.005208333   0.007185999   ok
 3   32   16  0.005151561   0.005208333   0.006691583   ok
 3   64    8  0.005169445   0.005208333   0.005938196   ok
 4    4   32  0.000702908   0.000813802   0.017881944   ok
 4    8   32  0.000758194   0.000813802   0.007935339   ok
 4   16   32  0.000785989   0.000813802   0.004284174   ok
 4   32   16  0.000799039   0.000813802   0.002545623   ok
 4   64    8  0.000804822   0.000813802   0.001675936   ok

grid refinement (k = 2, n = 8): LP values should increase with G and stabilise
   G=  8: n^2 r_0 = 0.0291742512, n^2 r_S = 0.0325520833
   G= 16: n^2 r_0 = 0.0295313522, n^2 r_S = 0.0329023068
   G= 32: n^2 r_0 = 0.0296728260, n^2 r_S = 0.0329866373
   G= 64: n^2 r_0 = 0.0296960056, n^2 r_S = 0.0330086192
TOTAL FAILURES: 0   (1.5 s)
