Experiments / V2.01
V2.01
Foundations COMPLETE

First-Principles Capacity Computation

Experiment V2.01: First-Principles Capacity Computation

Status: COMPLETE

Goal

Compute the timing capacity C_t purely from QFT Wightman functions, with no metric input to the capacity definition. Establish that the full pipeline

Background → Wightman G+(Δτ) → UDW response F(Ω) → QFI → C_t

is non-circular: geometry enters only through the Wightman function, and temperature/metric are outputs, never inputs.

Pipeline Architecture

┌─────────────────┐     ┌──────────────────┐     ┌─────────────┐     ┌────────────┐
│  Background      │     │  Wightman G+(Δτ)  │     │  UDW F(Ω)   │     │  QFI → C_t │
│  (M,g) fixed    │────▶│  KMS state        │────▶│  Response    │────▶│  Capacity   │
│                  │     │  wightman.py      │     │  detector.py │     │  capacity.py│
└─────────────────┘     └──────────────────┘     └─────────────┘     └────────────┘
         ↑                                                                    │
    ONLY place                                                          Temperature
    geometry enters                                                      is OUTPUT

Modules

ModulePurposeLinesTests
wightman.pyWightman functions for 4 backgrounds~20013/13
detector.pyUDW response, detailed balance, T extraction~37010/10
qfi.pyQFI for phase, parameter, temperature estimation~185(via capacity)
capacity.pyC_t definitions, profiles, slope law analysis~26010/10

Total: 33/33 tests passing.

Results

Phase 1: KMS Validation (7/7 PASS)

All Wightman functions satisfy the KMS condition G+(Δτ + iβ) = G+(Δτ) to machine precision (MSE < 10⁻³²):

BackgroundParametersβ = 1/TKMS MSE
Rindlera = 0.56.8 × 10⁻³³
Rindlera = 1.01.3 × 10⁻³⁴
Rindlera = 2.0π1.5 × 10⁻³⁵
Rindlera = 5.02π/54.1 × 10⁻³⁷
de SitterH = 0.56.8 × 10⁻³³
de SitterH = 1.01.3 × 10⁻³⁴
SchwarzschildM=1, r=107.4 × 10⁻³²

Phase 2: Temperature Extraction (9/9 PASS)

Detailed balance gives exact temperature extraction (0.0% error) for all backgrounds and parameter values:

  • Rindler: T = a/(2π) recovered for a ∈ {0.3, 0.5, 1.0, 2.0, 3.0, 5.0}
  • de Sitter: T = H/(2π) recovered for H ∈ {0.5, 1.0, 2.0}

The extraction is non-circular: temperature enters only through the Wightman function, and is independently recovered from the detector response ratio.

Phase 3: Timing Capacity (Key Results)

Three C_t definitions were tested. Results for Rindler with σ = 8.0:

aT = a/(2π)C_t (phase)C_t (integrated)C_t (thermal)
0.30.048−4.75−6.875.81
0.50.080−3.64−5.375.08
1.00.159−2.14−3.374.08
2.00.318−0.64−1.373.08
3.00.477+0.23−0.202.49
5.00.796+1.33+1.281.75

Key observations:

  • C_t increases monotonically with temperature (all definitions)
  • Phase and integrated definitions can be negative (sub-bit information)
  • Thermal definition is always positive and decreasing — it measures how distinguishable temperature changes are (easier at low T)

Phase 3b: Slope Law Test

The slope law T = (1/2π) × Γ* × |d(ln C_t)/d(ln κ)| was tested:

DefinitionΓ* (median)CVHolds?
Phase0.32133.2%No
IntegratedToo few positive C_t
Thermal2.40528.2%No

The slope law does NOT hold for any of these naive definitions. The coefficient of variation (CV) exceeds 10% in all cases, meaning Γ* is not constant across the acceleration range.

This is a genuine scientific finding. It means the “correct” capacity definition — the one that makes the slope law exact — has not yet been found. This motivates Experiments V2.02–V2.06.

Phase 4: Cross-Background Comparison (4/4 PASS)

At matched temperature, Rindler and de Sitter give identical C_t:

TC_t (Rindler)C_t (de Sitter)Difference
0.10−3.142−3.1420.00%
0.20−1.646−1.6460.00%
0.50+0.329+0.3290.00%
1.00+1.825+1.8250.00%

This is expected: Rindler and de Sitter share the same KMS structure (both have G+(Δτ) ∝ 1/sinh²), so the detector response depends only on T. This cross-check validates the pipeline but does not test geometric sensitivity.

Phase 5: QFI Spectrum Analysis

The optimal detector gap Ω* that maximizes timing QFI satisfies a universal ratio:

aTΩ*Ω*/TQFI_timingQFI_T
0.50.0800.2162.726.5 × 10⁻³340.6
1.00.1590.4332.725.2 × 10⁻²85.1
2.00.3180.8662.724.1 × 10⁻¹21.3
4.00.6371.7322.723.3 × 10⁰5.3

Finding: Ω/T ≈ 2.72 is universal.* The optimal gap for timing estimation is always ≈ 2.72 × T, independent of the background parameter. This is an analytic prediction from the Bose-Einstein response function:

F_timing(Ω) = Ω² × 4A × Ω/(exp(Ω/T)−1)

maximized at Ω/T = x* where d/dx[x³/(eˣ−1)] = 0, giving x* ≈ 2.82. The discretization gives 2.72, converging to 2.82 with finer grids.

Also: QFI_timing ∝ T³ (scaling as a³): each doubling of a gives 8× QFI. This follows analytically from F_timing = 4A T³ x³/(e^{x}−1).

Non-Circularity Audit

V3 Fix (Circularity Resolution)

The original V2.01 code had a circularity problem: functions like Ct_phase(), Ct_integrated(), Ct_thermal(), qfi_phase_detector(), and qfi_phase_optimal() all took T_kms (the KMS temperature) as their first argument. This made temperature an INPUT to the capacity computation, which is logically circular for a program where temperature must be an OUTPUT.

The fix: The non-circular functions already existed (Ct_from_wightman() and qfi_timing_from_response()). The V3 update:

  1. Added DeprecationWarning to all circular functions (Ct_phase, Ct_integrated, Ct_thermal, qfi_phase_detector, qfi_phase_optimal). Their docstrings now begin with “ANALYTIC SHORTCUT” and direct users to the non-circular alternatives.

  2. Updated capacity_profile() documentation to clearly distinguish method="wightman" (non-circular, default) from method="analytic" (circular shortcut). The analytic path now emits a deprecation warning.

  3. Added non_circularity_audit() function that returns a structured explanation of both paths.

Pipeline Status (Post-V3)

ComponentInputsOutputsCircular?
wightman.pyBackground type + paramsG+(dt)No — G+ is defined by QFT
detector.py (regularized)G+(dt) + detector gap OmegaF(Omega)No — numerical FT of G+
detector.py (analytic)T_kms, OmegaF(Omega)Yes — T is an input
qfi.py (qfi_timing_from_response)F(Omega), omegasQFI_timingNo — pure information theory
qfi.py (qfi_phase_optimal)T_kms, sigmaQFI_timingYes — DEPRECATED
capacity.py (Ct_from_wightman)G+(dt), sigmaC_tNo — canonical path
capacity.py (Ct_phase etc.)T_kms, sigmaC_tYes — DEPRECATED

The Two Paths

Non-circular (production pipeline):

G+(dt) --> response_spectrum_regularized() --> F(Omega)
       --> qfi_timing_from_response()      --> QFI_timing
       --> Ct_from_wightman()              --> C_t
Temperature NEVER appears as an input.

Analytic shortcut (validation only):

T_kms --> thermal_response_spectrum()      --> F(Omega)
      --> qfi_phase_optimal()              --> QFI_timing
      --> Ct_phase()                       --> C_t
Temperature IS an input. DEPRECATED -- use only for cross-validation.

Conclusions

  1. Infrastructure validated. The Wightman → detector → QFI → C_t pipeline works end-to-end with 33/33 tests passing.

  2. Non-circular temperature extraction confirmed. Detailed balance gives exact T for Rindler and de Sitter.

  3. Slope law does NOT hold for naive C_t definitions. This is the central finding — we need to discover the “right” capacity definition that makes d(ln C_t)/d(ln κ) constant. This is the goal of Experiments V2.04–V2.06.

  4. Universal optimal gap. Ω*/T ≈ 2.82 (analytic) is a prediction that can guide detector design in later experiments.

  5. Cross-background equivalence at matched T. Expected but validates the pipeline. True geometric sensitivity requires going beyond KMS-equivalent backgrounds (V2.07+).

Next Steps → V2.02

Experiment V2.02 will implement the mode-sum Wightman computation to:

  • Close the mild circularity in the analytic path
  • Enable computation on backgrounds without known analytic Wightman functions
  • Test C_t sensitivity to field mass, spin, and coupling