rlds-paired
Regime-Limited Dynamical Systems — Paired Dark-Sector Signature
A Python library for reproducing the numerical results of the RLDS
cosmology series (Papers III–V). rlds-paired is the observational–cosmological
branch of the RLDS SDK family.
The central result is the paired growth–expansion signature:
Δ(f·σ₈) / (f·σ₈)_ΛCDM = c · K + O(K²)
c ≈ −0.19 (negative: growth suppression)
The coefficient is computed from the model code, not stored as a literal —
recompute it with rlds_paired.reference.reference_results().
Theory references
This library implements the methods from:
-
Kubanski, A. (2026). Paired observational signature of the RLDS dark sector: growth suppression and phantom excursion. Zenodo. doi:10.5281/zenodo.19636371 [Paper III]
-
Kubanski, A. (2026). Cosmological consequences under RLDS closure. Zenodo. doi:10.5281/zenodo.19640061 [Paper IV]
-
Kubanski, A. (2026). Microphysical descent to RLDS. Zenodo. doi:10.5281/zenodo.19640630 [Paper V]
The mathematical core (Papers I–II) is implemented in rlds-mat (doi:10.5281/zenodo.20342965).
Features
- Algebraic IDE model: E²(z) with tanh-transition, self-consistent R(z), phantom w_eff(z).
- Full ODE trajectory: Coupled [R, u] two-phase system (Paper IV), global attractor R* ≈ 0.103.
- Growth factor: Linear growth f·σ₈(z) on the full coupled-ODE RLDS background (Paper III).
- K-scan: Paired-signature coefficient scan; linear scaling with a negative slope (growth suppression).
- Spectral gap: δ(N) = |dR/dN|/3 validation (Paper V, Appendix C). The Fenichel persistence bound (0.10) is reported pass/fail; at the canonical benchmark it is violated (δ_max ≈ 0.245), so the slow-manifold reduction is a marginal (~25%) correction in the transition window.
- CLI:
rlds-paired verify | scan | spectral | fsigma8. - Canonical inputs: Paper III–V benchmark parameters in one place;
computed results live in
rlds_paired.reference.
Installation
pip install rlds-paired
# Development install
pip install -e ".[dev]"
Quick start
From Python
import rlds_paired
# Canonical benchmark *inputs* (computed results live in rlds_paired.reference)
print(rlds_paired.CANONICAL)
# {'K': 0.0106, 'alpha': 3.0102, 'Rc': 0.565, 'Omega_m': 0.297, ...}
# ODE trajectory (Paper IV)
traj = rlds_paired.RLDSTrajectory()
print(f"R* = {traj.R_star:.4f}") # 0.1027 (attractor, ≈ sqrt(K))
print(f"R(z=0) = {traj.R_today:.4f}") # 0.2974 (present-day matter fraction)
print(f"E(z=0.5) = {traj.E(0.5):.4f}")
# Spectral gap validation (Paper V, Appendix C)
sg = rlds_paired.compute_spectral_gap()
print(sg.summary())
# delta_max ≈ 0.245 at z ≈ 0.42 → Fenichel bound (0.10) VIOLATED (expected)
# Recomputed headline results (paired coefficient, delta_max)
print(rlds_paired.reference_results().summary())
# Growth factor (Paper III)
fs8 = rlds_paired.growth_factor(rlds_paired.OMEGA_M, K=rlds_paired.K_BEST, z_eval=0.5)
print(f"f·σ₈(z=0.5) = {fs8:.4f}")
# K-scan
result = rlds_paired.k_scan(n_points=20)
print(result.summary())
# f·σ₈ comparison figure
fs8_res = rlds_paired.fsigma8_comparison()
fs8_res.save_figure("fsigma8.png")
From the command line
# Verify installation
rlds-paired verify
# Spectral gap table (Paper V, Appendix C)
rlds-paired spectral --table
# K-scan (20 points)
rlds-paired scan --n 20
# f·σ₈ comparison figure
rlds-paired fsigma8 --figure fsigma8.png
Reproducing the figures
A full map from each paper's figures/results to the exact entry point is in
REPRODUCE_FIGURES.md. In short: Paper III's paired
coefficient and K-scan come from rlds_paired.analysis.k_scan(); Paper IV's
R*, z_acc, and w_eff from rlds_paired.core.ode /
rlds_paired.core.algebraic; and Paper V's spectral gap (δ_max, Figure 5)
from rlds_paired.core.spectral.compute_spectral_gap().
Paper V microphysical reproduction
Paper V's microphysical validation figures (Figures 1–4) are regenerated by a dedicated script bundled in the source archive:
python scripts/paper_v/fig5_generate.py --out outputs/paper_v
It writes four figures (PDF + PNG), four CSVs, and a machine-readable
fig5_summary.json. The recipe (λ=0.5, β_*=6e-4, Δφ=0.3, φ_c=0.85,
V₀≈1.886e-5 by shooting) and the RLDS branch are evaluated on the DR2
canonical frame. See
scripts/paper_v/README_PAPER_V_REPRODUCTION.md
for outputs and expected key values. (Paper V's Figure 5 / δ_max is reproduced
by rlds_paired.core.spectral, not by this script.)
Model-comparison reference values and external data policy
The DR2 model comparison reports the RLDS shooting form as disfavored relative
to ΛCDM, with Δχ² ≈ +36 and ΔBIC ≈ +58. The sign convention is:
Δχ² = χ²_RLDS − χ²_LCDM
ΔBIC = BIC_RLDS − BIC_LCDM
so positive Δχ² / ΔBIC means the RLDS fit is disfavored relative to
ΛCDM for the corresponding comparison.
The raw Pantheon+ / Pantheon+SH0ES dataset is not redistributed in this
archive: it is an external third-party dataset. A full likelihood rerun requires
the user to obtain it from the official source and place it under the documented
local data path. What this archive does include from the original run is the
set of derived artifacts: archived chains, summary arrays,
chains/omega_m_derived.npy, and a reference model-comparison file:
data/reference/model_comparison_reference.json
These make the paper-level Δχ² / ΔBIC claims traceable, not fully
re-derivable from the archive alone — the comparison is supernova-inclusive, so
the likelihood-level values are stored reference numbers from the papers rather
than quantities the SDK recomputes at run time. The model-level results (paired
coefficient, spectral gap, attractor, present-day matter fraction) remain fully
reproducible from the code, as described above.
Canonical benchmark values
| Quantity | Value | Source |
|---|---|---|
| Coupling K | 0.0106 | Paper IV, DR2 shooting MCMC |
| Dilution rate α | 3.0102 | Paper IV (DR2; railed at prior floor 3.01) |
| Switching threshold R_c | 0.565 | Paper IV |
| Switching width ΔR | 0.170 | Paper IV, DR2 shooting best-fit |
| Derived Ω_m | 0.297 | Paper IV, self-consistency |
| Attractor R* | 0.1027 (≈ √K) | Paper IV |
| Present-day matter fraction R(z=0) | 0.2974 | computed |
| Equation of state w_DE | −1.003 | Paper IV |
| Acceleration onset z_acc | 0.7144 | Paper IV, q(z)=0 on DR2 background |
| Paired coefficient c | ≈ −0.1936 ± 0.005 (computed; r² ≈ 0.97) | Paper III |
| Spectral gap δ_max | ≈ 0.245 — Fenichel (0.10) violated | Paper V, Appendix C |
Package structure
rlds_paired/
├── _version.py ← single source of truth for version
├── constants.py ← all canonical benchmark values
├── exceptions.py ← custom exception hierarchy
├── analysis.py ← k_scan(), fsigma8_comparison()
├── cli.py ← rlds-paired command-line tool
└── core/
├── algebraic.py ← algebraic IDE model (E², R, F, w_eff)
├── ode.py ← two-phase coupled [R, u] ODE (Paper IV)
├── growth.py ← linear growth factor (Paper III)
└── spectral.py ← spectral gap δ(N) = |dR/dN|/3 (Paper V)
SDK family
| Library | Papers | Description |
|---|---|---|
| rlds-mat | I–II | Mathematical core: ODE analysis, attractor proofs |
| rlds-paired | III–V | Observational: paired signature, growth, spectral gap |
Author
Aleksander Kubanski Independent Researcher, Poland ORCID: 0009-0006-7239-5074 Research site: research.kubanski.pro
License
MIT License. See LICENSE.
Metadata
Release files for rlds-paired 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| rlds_paired-1.0.0.tar.gz | 59.8 kB | Without provenance | Details for rlds_paired-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| rlds_paired-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for rlds_paired-1.0.0-py3-none-any.whl |
Total release size: 98.8 kB
Release files / rlds_paired-1.0.0.tar.gz
| Download URL | rlds_paired-1.0.0.tar.gz |
|---|---|
| Size | 59.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a5cf46a871964bd208b41ce31489423c42064fbd3da81932164380581f266ca0
|
|
BLAKE2b-256 checksum How to use checksums |
ea97b2156bb81da5cc109602c7d5bf5bb0074d656591bbc2ca062da7fb992e8d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.5
|
Release files / rlds_paired-1.0.0-py3-none-any.whl
| Download URL | rlds_paired-1.0.0-py3-none-any.whl |
|---|---|
| Size | 39.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bb741474e5f9a7a4ea3dedb5d8170656f6e479625117d613116f05228f09d8b3
|
|
BLAKE2b-256 checksum How to use checksums |
fecdc78d5efe729894f4a56fefd2002035e3a7cbc8b9acd4ba406b06f3a4d8b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.5
|
Security for rlds-paired 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.