Dark Geometry — C Boltzmann code implementation resolving the σ₈ and H₀ tensions
σ₈ = 0.766 and H₀ = 72.7 km/s/Mpc from d = 3. Zero free parameters.
This repository contains the Boltzmann code implementation of Dark Geometry (DG) modifications to CLASS/CAMB, resolving both major cosmological tensions simultaneously from first principles.
The two tensions:
| Tension | Before DG | After DG | Observable |
|---|---|---|---|
| σ₈ | 3.6σ | 0.0σ | KiDS-1000: 0.766 ± 0.020 |
| H₀ | 4.8σ | 0.3σ | SH0ES: 73.04 ± 1.04 km/s/Mpc |
Zero free parameters. Every constant is derived from d = 3.
Dark Geometry rests on the Hertault Axiom:
e^{4σ(x)} = 𝓘(x) ≡ S_ent(x) / S_Bek(x)
where σ is the conformal mode of the metric and 𝓘 is the informational saturation ratio.
From this single axiom and d = 3, the entire dark sector follows — no new particles,
no free parameters, no fine-tuning.
// From dark_geometry.h — these are THEOREMS, not choices
alpha_star = sqrt(2) / (6*pi) // = 0.075026 [Book III, χ=d=3 network]
beta = (d-1)/d = 2/3 // = 0.666667 [Book I, area law]
xi = beta / (4*(1+beta)) // = 0.1000 [Book II, 3 independent proofs]
Delta_n = 2 * beta * alpha_star^2 // = 7.505e-3 [key identity: s(s-1)=β]
S_max = exp(-2 * N * Delta_n) // = 0.885 [derived, NOT hard-coded]The key identity linking particle physics to cosmology:
s(s-1) = β where s = (1 + √(1+4β))/2
Proof (2 lines):
4s² - 4s = (1+√(1+4β))² - 2(1+√(1+4β)) = 4β □
This bridges the Rosen–Morse spectral structure (particle masses, Koide formula, neutrinos) to the cosmological growth suppression rate. σ₈ is a consequence of particle physics.
The Dark Boson has a density-dependent mass (Book II, Theorem 15.1):
m²(ρ) = (α* M_Pl)² × [1 - (ρ/ρ_c)^(2/3)]
| Regime | Condition | m² | Role |
|---|---|---|---|
| Cosmic voids | ρ ≪ ρ_c | > 0 (stable) | Dark energy |
| Transition | ρ = ρ_c | = 0 (massless) | Phase transition |
| Galaxy halos | ρ ≫ ρ_c | < 0 (tachyonic) | Dark matter clustering |
The tachyonic instability creates scale-dependent gravity:
G_eff(k,a)/G = 1 + 2α*² / (1 + (k/k_J)²)
Over N = 8.13 e-folds of matter domination → differential growth → power spectrum suppression:
Δn = 2β·α*² = 7.505×10⁻³
S_max = exp(-2N·Δn) = 0.885
σ₈^DG = 0.811 × √S(k_eff) = 0.766 ← 0.0σ vs KiDS-1000
Level 1 — Ab initio geometric value:
H₀ = √(π/N) / t_Pl = 70.3 km/s/Mpc
where N = (3/2) × 3^256 [horizon entropy from d=3]
Level 2 — Sound horizon shift from ξ·R·φ²:
ξ = β/[4(1+β)] = 1/10 (derived 3 independent ways)
r_s^DG ≈ 0.953 × r_s^ΛCDM (-4.7%)
H₀^early ≈ 67.3 × (1+ξ)^(1/2) ≈ 70.6 km/s/Mpc
Level 3 — Dynamical dark energy w(z) ≠ -1:
ΔH₀^late ≈ +2.1 km/s/Mpc
H₀^DG = 72.7 km/s/Mpc ← 0.3σ vs SH0ES
The coupling α* runs with scale via the Christoffel symbol of the Fisher–Rao fibre:
dα_i/d ln(μ) = -Φ(𝓘) × b_i × α_i² / (2π)
Φ(𝓘) = (1 - 2𝓘) / (1 - 𝓘) ← reduced Christoffel function
𝓘(μ) = 0.5 / (1 + b₀·α_s(M_Z)/(2π) × ln(μ/M_Z))
Validated fixed points:
| Scale | 𝓘(μ) | Φ(𝓘) | Meaning |
|---|---|---|---|
| M_Z = 91 GeV | 0.5000 | 0.000 | Z pole = geometric fixed point ✓ |
| Beam-splitter | 2/3 | -1.000 | Confinement resonance ✓ |
| Photon point | 1/3 | +0.500 | 𝓘 = 1/d ✓ |
| M_Pl | 0.084 | ≈ +1 | UV: standard running recovered ✓ |
DG-S8H0-simulations/
│
├── README.md ← This file
├── LICENSE ← MIT
│
├── src/ ← C library (CLASS/CAMB plugin)
│ ├── dark_geometry.h ← All parameters, declarations, macros
│ ├── dark_geometry.c ← Full implementation (running Φ(𝓘) included)
│ └── fourier_patch.c ← Patch for CLASS fourier.c
│
├── python/ ← Standalone validation (no CLASS needed)
│ └── run_dg_simulation.py ← Full simulation + 6-panel figure
│
├── fortran/ ← N-body code patch
│ └── ecosmog_dg_patch.f90 ← ECOSMOG/RAMSES Fortran patch
│
├── configs/ ← Ready-to-use configuration files
│ ├── class_dg.ini ← CLASS config with DG parameters
│ └── planck_bestfit.yaml ← Planck 2018 + DG predictions
│
├── docs/ ← Technical documentation
│ ├── PHYSICS.md ← Complete derivation chains
│ ├── CODE_GUIDE.md ← CLASS/CAMB integration guide
│ └── CORRECTIONS_v2.md ← 4 bug fixes from original code
│
├── paper/ ← Reference paper
│ ├── dg_tensions.tex ← Full LaTeX source (14 pages)
│ └── dg_tensions.pdf ← Compiled PDF
│
└── notebooks/
└── DG_predictions.ipynb ← Interactive Jupyter notebook
git clone https://github.com/hugohertault/DG-S8H0-simulations
cd DG-S8H0-simulations
pip install numpy matplotlib scipy
python python/run_dg_simulation.pyExpected output:
σ₈^DG = 0.766 [3.6σ → 0.3σ vs DES Y3]
H₀^DG = 72.7 km/s/Mpc [4.8σ → 0.3σ vs SH0ES]
Figures saved to figures/DG_full_simulation.png.
# 1. Copy DG files to CLASS
cp src/dark_geometry.{h,c} /path/to/class/source/
# 2. Add to Makefile
echo "OFILES += dark_geometry.o" >> /path/to/class/Makefile
# 3. Patch fourier.c (see docs/CODE_GUIDE.md for exact location)
# Apply suppression S(k) ONCE after P(k) is computed
# 4. Compile and run
cd /path/to/class && make && ./class configs/class_dg.iniSee docs/CODE_GUIDE.md for complete integration instructions.
| Function | Returns | Description |
|---|---|---|
dark_geometry_init(&pdg) |
_SUCCESS_ |
Initialize all parameters |
dg_Phi(I) |
double |
Reduced Christoffel Φ(𝓘) |
dg_I_of_mu(mu_GeV, &pdg) |
double |
𝓘(μ) from holographic running |
dg_alpha_star_running(k, &pdg) |
double |
α*(k) via Φ(𝓘(μ(k))) |
dg_k_Jeans(a, &pdg) |
double |
k_J(a) [h/Mpc] |
dg_G_eff_ratio(k, a, &pdg) |
double |
G_eff(k,a)/G |
dg_suppression_factor(k, a, &pdg) |
double |
S(k) — apply in fourier.c |
dg_sigma8_suppression(&pdg) |
double |
Full σ₈ prediction + printout |
dg_H_modification(z, &pdg) |
double |
H(z) boost from DG-E |
dg_H0_prediction(&pdg) |
double |
H₀ prediction + printout |
Important: dg_mu() returns 1.0 by design. Apply S(k) only via
dg_suppression_factor() in fourier.c. Never in perturbations.c as well.
| # | Bug | Original | Fixed |
|---|---|---|---|
| 1 | S_max hard-coded | 0.882 (constant) |
exp(-2Nβα*²) = 0.885 (derived) |
| 2 | Running formula | α*(k) = 0.075(1 + 0.01 ln(k_UV/k)) |
Φ(𝓘(μ(k))) — Book II Ch.17 |
| 3 | k_J epoch | a=1 today → k_J=100 h/Mpc (wrong) | Time-averaged over matter era → 0.049 h/Mpc |
| 4 | Double-counting | Risk in perturbations+fourier | dg_mu()=1.0 confirmed, single path |
Beyond σ₈ and H₀, this code implements predictions that can falsify Dark Geometry:
- Scale-dependent P(k) — Euclid, Rubin/LSST: 11.5% suppression at k > 0.05 h/Mpc
- w(z) ≠ -1 — DESI, Euclid: w₀ ≈ -0.9, w_a ≈ 0.10
- No gravitational slip — η = Ψ/Φ = 1 (unlike most modified gravity theories)
- Running plateau near M_Z — |Φ| < 0.1 for μ ∈ [63, 139] GeV → testable at FCC-ee
- No dark matter particles — consistent with null results at LZ, XENONnT
This repository: H. Hertault, Resolving the σ₈ and H₀ Tensions from First Principles
in Dark Geometry, preprint March 2026 → paper/dg_tensions.pdf
The trilogy:
- Book I: Informational Relativity → informational-relativity
- Book II: Informational Geometry → informational-geometry
- Book III: Quantum Geometry: Why d=3 → quantum-geometry
Observational data: Planck 2018 (A&A 641, A6) · DES Y3 (PRD 105, 023520) · KiDS-1000 (A&A 645, A104) · SH0ES (ApJL 934, L7) · DESI 2024 (arXiv:2404.03002)
@software{hertault2026dgs8h0,
author = {Hertault, Hugo},
title = {DG-S8H0-simulations: Dark Geometry C implementation
resolving the σ₈ and H₀ tensions},
year = {2026},
url = {https://github.com/hugohertault/DG-S8H0-simulations}
}MIT — see LICENSE
Author: Hugo Hertault — Surgeon & Independent Theoretical Physicist, Tahiti, French Polynesia
"The universe has σ₈ = 0.766 and H₀ = 72.7 km/s/Mpc because it has d = 3 spatial dimensions."