Skip to main content

Psi-Continuum v2: cosmological framework and joint likelihood analysis for the Psi-CDM model.

Project description

Psi-Continuum v2

A Minimal One-Parameter Extension of ΛCDM

Author: Dmitry V. Klimov Status: Research Prototype (v0.2.1)

License: MIT Python Reproducible Status

Overview

Psi-Continuum (ΨCDM) is a minimal phenomenological extension of ΛCDM that introduces one additional parameter ε₀, modifying late-time expansion while retaining ΛCDM as an exact limit.

Background expansion is written as:

E²(z) = Ω_m (1 + z)³ + (1  Ω_m) · [1 + ε₀ · g(z)]

where g(z) is chosen such that:

  • g(0) = 1 → parameter interpretable as a fractional deformation of dark energy,
  • g(z → ∞) → 0 → model preserves early ΛCDM behaviour.

If ε₀ = 0 → ΨCDM reduces to ΛCDM.

This repository includes:

  • ΛCDM and ΨCDM background cosmology
  • Pantheon+ HF supernovae loader + full covariance χ²
  • H(z) cosmic chronometer compilation
  • SDSS DR12 BAO consensus
  • DESI DR2 Gaussian BAO likelihood
  • Joint likelihood and χ² breakdown
  • ε₀ scanning, minimization, comparison with ΛCDM
  • Publication-grade figure generation
  • A complete reproducible pipeline (run_all.py)

Main Scientific Results

  • Pantheon+ HF slightly prefers ε₀ < 0
  • DESI DR2 BAO strongly prefers ε₀ > 0
  • Joint background fit (SN + H(z) + SDSS DR12 BAO + DESI DR2) yields:

ε₀_best = +0.031 ± 0.010

Total Δχ² improvement relative to ΛCDM: −6.9

This means ΨCDM provides a statistically better description of late-time background data while remaining indistinguishable from ΛCDM at early times.

Repository Structure

psi-continuum-v2/
├── psi_continuum_v2/
│   ├── analysis/                # reproducible analysis scripts
│   │   ├── styles/              # Matplotlib style sheet for publication plots
│   │   └── *.py
│   ├── cosmology/               # theory, loaders, likelihoods
│   │   ├── background/
│   │   ├── likelihoods/
│   │   ├── data_loaders/
│   │   └── models/
│   ├── check_imports.py         # internal sanity check tool
│   └── __init__.py
│
├── data/                        # input datasets (Pantheon+, H(z), BAO, DESI)
├── results/
│   ├── figures/
│   ├── tables/
│   └── logs/
│
├── examples/                    # minimal demonstration scripts
├── run_all.py
├── requirements.txt
└── README.md

Figures generated by the publication pipeline are saved under:

results/figures/publication/main_figures/


Installation

Installation Options

  • Installation via PyPI (recommended)
  • Installation from source (clone repository)

Installation via PyPI (recommended)

You can install Psi-Continuum v2 directly from PyPI:

pip install psi-continuum-v2

This installs only the code of the package. All scientific datasets must be downloaded manually and placed into a local data/ directory (see Section “Preparing the data/ Directory”).

After installation you can check whether your data directory is correctly set up:

python -m psi_continuum_v2.check_data

If data files are missing, the tool will print clear MISSING messages and instructions on where to place them.

To run analysis scripts installed via pip:

python -m psi_continuum_v2.analysis.sn_test_psicdm_pplus

1. Clone the repository

git clone https://github.com/dmitrylife/psi-continuum-v2.git
cd psi-continuum-v2

2. Create virtual environment

python3 -m venv sci_venv

and

source sci_venv/bin/activate

3. Install dependencies

pip install -r requirements.txt

4. (Optional) Install the package as editable

pip install -e .

If you installed the package via pip (rather than cloning the repository), you must create a data/ directory in your current working directory, with the dataset layout shown in Section 5.

5. Preparing the data/ Directory

The data/ directory is intentionally excluded from both the GitHub repository and the PyPI package.
Users must download all datasets manually and place them in the directory structure shown below.

The expected directory layout is:

data/
├── pantheon_plus/
│   ├── Pantheon+SH0ES.dat
│   └── Pantheon+SH0ES_STAT+SYS.cov
│
├── hz/
│   └── HZ_compilation.csv
│
├── bao/
│   ├── sdss_DR12Consensus_bao.dat
│   └── BAO_consensus_covtot_dM_Hz.txt
│
└── desi/dr2/
    ├── desi_gaussian_bao_ALL_GCcomb_mean.txt
    └── desi_gaussian_bao_ALL_GCcomb_cov.txt

You may download these datasets from their original public sources:

  • Pantheon+ HF supernova sample
  • Cosmic chronometer H(z) compilation
  • SDSS DR12 BAO consensus
  • DESI DR2 Gaussian BAO data

Place all files exactly under the paths shown above.

Quick data status check

After creating the data/ directory, you can quickly check that all required files are visible to the package:

psi-check-data

or, equivalently:

python -m psi_continuum_v2.check_data

This command will report, for each dataset, whether the expected files are present, for example:

Pantheon+ SH0ES   OK
H(z) compilation  MISSING   → please place HZ_compilation.csv into ./data/hz/
SDSS DR12 BAO     OK
DESI DR2 BAO      MISSING   → please place DESI DR2 Gaussian files into ./data/desi/dr2/

When installed via pip, the tool looks for the data/ directory in your current working folder.

If some files are missing, the analysis scripts will raise a clear FileNotFoundError with instructions on where to place the data.

Now modules can be executed as:

python -m psi_continuum_v2.analysis.sn_test_psicdm_pplus

Running the Full Pipeline

Execute all analysis scripts sequentially:

./run_all.py

This runs:

  1. check_models.py
  2. sn_test_lcdm_pplus_simple.py
  3. sn_test_psicdm_pplus.py
  4. hz_test_psicdm.py
  5. bao_desi_dr2_test.py
  6. joint_fit_psicdm.py
  7. scan_eps_psicdm.py
  8. eps_best_joint_test.py
  9. make_publication_plots.py

This script automatically loads the psi_style.mplstyle file to ensure consistent formatting.

Logs produced in:

results/logs/

Running Individual Scripts

Example:

python -m psi_continuum_v2.analysis.hz_test_psicdm

Examples

Minimal demonstration scripts live in:

examples/

Run example:

python examples/example_sn.py

Output Structure

Figures (publication-ready)

Stored in:

results/figures/

Publication-ready figures are stored in:

results/figures/publication/main_figures/

Appendix figures in:

results/figures/publication/appendix/

Tables

results/tables/

Logs

results/logs/

Plotting Style

All publication-ready figures use the custom Matplotlib style:

  • psi_continuum_v2/analysis/styles/

contains the file:

  • textpsi_style.mplstyle

This style enforces consistent fonts, line widths, grids, color palette, and overall layout across all figures generated by the analysis pipeline (make_publication_plots.py).


Scientific Roadmap

Planned upgrades:

  • MCMC inference using emcee
  • Full DESI DR2 non-Gaussian BAO likelihood
  • Growth-rate constraints (fσ₈)
  • CMB distance-prior incorporation
  • Perturbation-theory extension of ΨCDM
  • Exploration of functional forms of g(z)

License

This project is licensed under the terms of the MIT License. See the LICENSE file for details.


Citation

If you use Psi-Continuum v2 in academic work:

Klimov, D. V. (2025).
Psi–Continuum Cosmology v2: A Minimal One–Parameter Extension of ΛCDM.
Zenodo. DOI: (to appear)

Machine-readable citation is provided in CITATION.cff.


Contact

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

psi_continuum_v2-0.2.1.tar.gz (39.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

psi_continuum_v2-0.2.1-py3-none-any.whl (54.4 kB view details)

Uploaded Python 3

File details

Details for the file psi_continuum_v2-0.2.1.tar.gz.

File metadata

  • Download URL: psi_continuum_v2-0.2.1.tar.gz
  • Upload date:
  • Size: 39.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for psi_continuum_v2-0.2.1.tar.gz
Algorithm Hash digest
SHA256 8d2a55bb3a52f830f10830fd5b7fd5456fcb96a6ccc5037010c0c8da751bfbe2
MD5 587825e34fcdacf0ef65bcc63a72e45c
BLAKE2b-256 1cf22adf27fff53baa977e51b7db05650a171a27301ac01777397888d4abcd89

See more details on using hashes here.

File details

Details for the file psi_continuum_v2-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for psi_continuum_v2-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b027caadd81728323f5b1dcecb05f4fc355e06c94e8c5b6bf96a2cdd7941318d
MD5 f6001433515532d002228dbfb91b9624
BLAKE2b-256 cc07250319c3f4b22ba53e19c548595b5b3ea57143b5a110cdf646bcb00c97cf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page