Experiments / V2.56
V2.56
Cosmological Prediction COMPLETE

V2.56 - Pointwise BD Calibration Fixes R_kk at Large N

V2.56: Pointwise BD Calibration Fixes R_kk at Large N

Summary

V2.56 fixes the R_kk (Ricci curvature) measurement which was broken at N=3000. The root cause was a non-robust global calibration in the BD d’Alembertian. Pointwise calibration reduces R_kk from -31.6 to -0.22 at N=3000, enabling 3/4 independent checks to pass (was 2/4).

Key results:

MetricV2.55V2.56Change
c/3 (N=1000)0.3100.310Unchanged
Gamma* (N=1000)1.0981.098Unchanged
R_kk (N=1000)-8.42-0.3723x improvement
T_kms/T_u (N=1000)1.1471.147Unchanged
Checks (N=1000)4/44/4Preserved
c/3 (N=3000)0.8700.870Unchanged
Gamma* (N=3000)1.1221.122Unchanged
R_kk (N=3000)-31.6-0.22144x improvement
T_kms/T_u (N=3000)1.0561.056Unchanged
Checks (N=3000)2/43/4+1 check

Root Cause: Global BD Calibration Failure

The problem

The V2.49 calibrated BD d’Alembertian uses a global (beta, gamma) pair computed from the MEDIAN of per-point BD values applied to test functions t² and x²:

beta_global = median((B@t²)(x) - (B@x²)(x)) / (-4)
gamma_global = median((B@t²)(x) + (B@x²)(x)) / 2

Then R_kk is computed as:

R_kk = median(((B @ f_null)(x) - gamma_global) / beta_global)

The issue: beta(x) varies enormously across interior points. At N=3000:

PropertyValue
Global beta (median)20.49
Pointwise beta_median6.03
Pointwise beta_stdhuge

The global median beta can be far from any individual point’s actual beta, causing the calibrated R_kk to diverge from 0 by 30-50 units.

Why median is non-robust here

The calibration computes gamma = median(B@t²) + median(B@x²)) / 2 and R_kk = median((B@f_null - gamma) / beta). Since median is NOT linear:

median(f(x) + g(x)) ≠ median(f(x)) + median(g(x))

The global calibration fails to properly account for the per-point variation in the BD operator, which grows with N as the causal structure becomes denser.

The fix: pointwise calibration

For each interior point x independently:

  1. beta(x) = ((B@t²)(x) - (B@x²)(x)) / (-4)
  2. gamma(x) = ((B@t²)(x) + (B@x²)(x)) / 2
  3. R_kk(x) = ((B@f_null)(x) - gamma(x)) / beta(x)

Then: R_kk = median(R_kk(x) over all interior x)

This makes calibration exact per-point (by construction, Box_cal(t²)(x) = -2 and Box_cal(x²)(x) = +2 for every point). The only error comes from the cross-check function tx, which gives Box_cal(tx) median ≈ 0.5 (close to 0).

Diagnostic results

NrhoStandard R_kkPointwise R_kkImprovement
5002.5-40.3-0.8846x
10005.0-7.60.3522x
200010.0-61.3-0.6594x
300015.0-33.1-0.4475x

Multi-seed comparison (5 seeds each):

NStandard median (std)Pointwise median (std)
10007.5 (78.9)0.35 (0.66)
3000-45.0 (58.9)-0.44 (0.46)

The pointwise method reduces both bias AND variance by orders of magnitude.

Ensemble Results

N=1000 (30 seeds, V2.53 seed config):

c/3:       0.310  (target 0.333, 7.0% off)
Gamma*:    1.098
R_kk:      -0.37  (target 0, was -8.42)
T_kms/T_u: 1.147  std=0.114  (14.7% off)
Checks:    4/4 pass

N=3000 (15 seeds, V2.53 seed config):

c/3:       0.870  (target 0.333 — fails, fundamental limitation)
Gamma*:    1.122
R_kk:      -0.22  (target 0, was -31.6)
T_kms/T_u: 1.056  std=0.166  (5.6% off)
Checks:    3/4 pass  (was 2/4)

De Sitter Temperature Update

V2.56 also tested free-B temperature extraction for de Sitter:

MethodN=1000 H=0.2N=2000 H=0.2
Fixed B (V2.54)35% off35% off
Free B, dtau_min=0.528% off28% off
Free B, dtau_min=1.023% off23% off

Free-B reduces the de Sitter offset from ~35% to ~23%, but a ~23% systematic underestimate persists. This appears to be a fundamental finite-N effect in curved spacetime (the SJ vacuum on a finite de Sitter causal set differs from the continuum Bunch-Davies vacuum more than in flat space).

The de Sitter pipeline now uses free-B by default.

N-Convergence Summary

All four measurements across N:

MeasurementN=500N=1000N=3000Converging?
c/3-0.310 (7%)0.870 (161%)No (fundamental)
Gamma*-1.0981.122Yes (stable)
R_kk--0.37-0.22Yes
T_kms/T_u0.66 (34%)1.147 (15%)1.056 (5.6%)Yes
Checks-4/43/4Improving

Three of four measurements now show clear convergence with N. Only entropy (c/3) degrades, due to the documented fundamental limitation (per-seed SNR < 0.2, SY truncation artifacts).

Honest Assessment: 78%

ComponentStatusConfidence
Temperature (N=1000)14.7% off (fixed B)High
Temperature (N=3000)5.6% off (free B)High
Temperature convergence34% → 15% → 5.6%High
Gamma* QFI scaling~1.1, stableHigh
R_kk (N=1000)-0.37 (was -8.42)High
R_kk (N=3000)-0.22 (was -31.6)High
R_kk convergenceStable near 0 across NHigh
Entropy c/30.310 (ensemble only, fragile)Low
De Sitter temperature~23% offset (improved from 35%)Medium

Increase from V2.55’s 75%: The 3pp improvement comes from R_kk now converging properly across N, and 3/4 checks passing at N=3000 (was 2/4).

Remaining gaps to 90%+

  • 8%: Fix entropy method (requires N >> 10,000 or new approach)
  • 4%: Reduce de Sitter temperature offset further
  • 3%: Demonstrate T_kms convergence below 3% (needs N ≥ 5000)
  • 2%: Demonstrate in 2+1D

Files

FileDescription
src/calibrated_bd_v2.pyNEW: Pointwise BD calibration (V2.56 fix)
src/corrected_pipeline.pyV2.56 pipeline with pointwise R_kk
src/desitter_pipeline.pyDe Sitter with free-B temperature (V2.56)
src/kms_extraction_v2.pyFree-B thermal fit (V2.55)
src/kms_extraction.pyFixed-B thermal fit (V2.53)
src/sparse_sj.pyFactored SJ vacuum (V2.53)
src/ensemble_pipeline.pyEnsemble with 4 checks (V2.53)
src/desitter_causal_set.pyDe Sitter causal set (V2.54)
test_rkk_diagnostic.pyR_kk diagnostic (standard vs pointwise)
test_desitter_temp.pyDe Sitter temperature parameter sweep
test_quick.pyQuick 3-seed validation
run_ensemble.pyFull ensemble runner