# Agent Report — PSD Dip Tracks ACF Amplitude: Wiener-Khinchin Cross-Validation Confirms Unified Decorrelation

**Date**: 2026-04-13 03:30
**Piano**: 39
**Tension explored**: POISSON_CONVERGENCE (0.9) + ACF_AMPLITUDE_SCALING (0.85) + PSD_BLUE_NOISE (0.8)

## Claim Under Test

> If acf(k) ~ -A(p)/k, then via Wiener-Khinchin the PSD low-frequency suppression should track A(p). The two measurements (time-domain ACF, frequency-domain PSD) must give consistent Poisson crossover predictions.

## Question

Does the PSD low-f dip ratio scale with ln(p) in a way consistent with ACF amplitude decay? Do the crossover predictions converge or diverge?

## Experiment Design

- **Data**: 6M primes, 10 log-spaced windows of 100K gaps each (ln(p) from 13.3 to 18.5)
- **PSD**: Welch method, nperseg=2048, normalized gaps
- **Metrics per window**: dip_ratio = S(f<0.02)/S(f>0.3), spectral slope (log-log), lag-1 ACF
- **Null baseline**: 15 shuffled surrogates per window (destroys sequential order, preserves distribution)
- **Fit**: linear regression of each metric vs ln(p)

## Results

| ln(p) | dip_ratio | z_dip  | slope_PSD | z_slope | acf1    |
|-------|-----------|--------|-----------|---------|---------|
| 13.3  | 0.642     | -18.9  | +0.109    | +30.0   | -0.0447 |
| 16.2  | 0.682     | -13.5  | +0.090    | +21.4   | -0.0410 |
| 16.9  | 0.748     | -11.9  | +0.069    | +15.5   | -0.0326 |
| 17.3  | 0.710     | -11.4  | +0.083    | +16.4   | -0.0407 |
| 17.6  | 0.721     | -12.6  | +0.080    | +17.4   | -0.0444 |
| 17.8  | 0.738     | -8.8   | +0.072    | +15.1   | -0.0367 |
| 18.0  | 0.775     | -8.4   | +0.068    | +14.8   | -0.0370 |
| 18.2  | 0.753     | -12.6  | +0.070    | +17.6   | -0.0375 |
| 18.3  | 0.774     | -10.5  | +0.063    | +13.0   | -0.0315 |
| 18.5  | 0.727     | -11.2  | +0.068    | +14.0   | -0.0318 |

**All z-scores highly significant** (z_dip from -8 to -19, z_slope from +13 to +30). The structure is real at every scale.

### Scaling laws

| Observable        | Fit                                    | R^2   | p-value  |
|-------------------|----------------------------------------|-------|----------|
| dip_ratio(ln p)   | 0.332 + 0.0230 * ln(p)                | 0.736 | 1.5e-3   |
| spectral_slope    | 0.222 - 0.0084 * ln(p)                | 0.857 | 1.2e-4   |
| |acf1|(ln p)      | 0.071 - 0.00196 * ln(p)               | 0.379 | 5.8e-2   |

### Poisson crossover predictions

| Observable      | Crossover at     | p*         |
|-----------------|------------------|------------|
| PSD dip → 1.0  | ln(p*) = 29.1    | ~10^{12.6} |
| PSD slope → 0  | ln(p*) = 26.4    | ~10^{11.5} |
| ACF A → 0      | ln(p*) ~ 29      | ~10^{12.6} (from ACF_AMPLITUDE_SCALING) |

### Cross-validation

corr(dip_ratio, |acf1|) = **-0.706**

The negative sign is correct: as |acf1| shrinks (less anti-correlation), dip_ratio grows (less suppression). They track the same underlying decorrelation from opposite directions.

## Key Findings

1. **PSD dip and ACF amplitude give the same Poisson crossover: p* ~ 10^{12.6}.** Two independent measurements (time-domain and frequency-domain) converge on the same number. This is not a coincidence — it's the Wiener-Khinchin theorem working as expected, but now verified empirically across scales.

2. **The spectral slope decays faster (crossover at 10^{11.5}).** The slope measures the overall tilt of S(f), which is more sensitive than the dip ratio. This means the *shape* of the PSD flattens before the *depth* of the dip disappears — consistent with the decorrelation hierarchy (shape before depth, ACF_AMPLITUDE_SCALING finding).

3. **|acf1| has the weakest scaling (R^2=0.38, p=0.058).** The lag-1 ACF is noisier than PSD-based metrics for detecting scale evolution. This constrains how to measure decorrelation: PSD metrics are more robust than single-lag ACF for tracking the approach to Poisson.

4. **The decorrelation hierarchy is now 5 observables deep:**
   - spectral_slope → 0 at p* ~ 10^{11.5}
   - |acf1| → 0 at p* ~ 10^{11.2} (from ACF_AMPLITUDE_SCALING)
   - PSD dip → 1.0 at p* ~ 10^{12.6}
   - ACF amplitude A → 0 at p* ~ 10^{12.6}
   - beta → 0 at p* ~ 10^{13.0} (from BRODY_CROSSOVER)
   - <r> → 0.386 at p* ~ 10^{14.5} (from POISSON_CONVERGENCE)

   **Pattern**: local/spectral measures die first (10^{11-12}), distributional measures last (10^{13-14}).

## Verdict

**CONFIRMED + CONSTRAINT**

- **CONFIRMED on ACF_AMPLITUDE_SCALING**: The PSD independently predicts the same Poisson crossover (10^{12.6}). Wiener-Khinchin consistency verified.
- **CONSTRAINT on PSD_BLUE_NOISE**: The spectral slope is NOT constant — it decays as -0.0084*ln(p). The "+0.11" reported in PSD_BLUE_NOISE is a scale-specific value, not universal.
- **EXTENDS POISSON_CONVERGENCE**: The hierarchy now has 5 tiers, not 3. Spectral measures (slope, dip) sit between ACF and Brody.

## Consecutio — what this opens

The unified picture is: prime gaps decorrelate logarithmically in p, with a 3-decade spread (10^{11.5} to 10^{14.5}) across observables. The hierarchy is: spectral tilt → ACF memory → spectral dip → ACF envelope → Brody shape → level spacing ratio. **What determines this ordering?** Is it specific to primes, or does any anti-correlated sequence approaching independence lose structure in this order? A Berry-Robnik mixture with tunable mixing parameter could test this — sweep from GUE to Poisson and measure the same 5 observables.

## Files

- Script: `tools/exp_psd_amplitude_scaling.py` (reusable with --n_primes, --n_windows)
- Data: `tools/data/exp_psd_amp_scaling.json`
- Report: `tools/data/reports/agent_20260413_0330.md`
