Skip to main content

Spectral energy density of inflationary first-order gravitational waves with flexible multi-epoch modeling.

Project description

GWInSpect

Gravitational Wave Inflationary Spectra

PyPI version License Python


GWInSpect is a lightweight, research-grade Python package that computes:

  • The present-epoch spectral energy density of first-order inflationary gravitational waves, $\Omega_{\rm GW}(f) $, produced by a given (user-defined) post-inflationary expansion history.
  • Verifies whether the BBN constraint on (integrated) gravitational wave energy density is satisfied.

📦 Installation

Install GWInSpect by running any one of the following commands in your terminal.

1. ✅ From PyPI (Recommended)

pip install gwinspect

2. 🧪 From GitHub

pip install git+https://github.com/athul104/GWInSpect.git

3. 🛠️ Cloning repo (to make an editable copy of the package in your local system)

git clone https://github.com/athul104/GWInSpect.git
cd GWInSpect
pip install -e .

📋 Requirements

The following necessary libraries will be automatically installed when you install GWInSpect.

  • Python 3.9 or later
  • numpy >= 1.21
  • scipy >= 1.9
  • mpmath >= 1.2.0

📓 Tutorial Notebook

The package includes a tutorial notebook under examples/tutorial_gwinspect.ipynb

🧱 Package Structure

Each module is independently documented and demonstrated in the tutorial notebook.

  • spectrum.py

    • compute_omega_gw
      Computes $\Omega_{\rm GW}(f)$ for a user defined post-inflationary history of the Universe consisting of a sequence of pre-hot Big Bang epochs, each with a constant equation of state.
  • constraints.py

    • check_bbn
      Computes BBN constraint integral piecewise for the user defined sequence of post-inflationary epochs.
  • cosmo_tools.py Utilities for cosmological parameter conversions:

    • temp_of_E Convert temperature to energy scale
    • energy_of_T Convert energy scale to temperature
    • freq_of_T Convert temperature to present-day frequency of gravitational waves
    • compute_efolds Compute the duration of each epoch in terms of number of $e$-folds
  • thermo.py

    • Functions to compute $g_{*}(T), g_{s}(T)$ from fitting functions given in K. Saikawa and S. Shirai arXiv:1803.01038.
    • Key functions: g_star and g_s
    • Users can also load the pre-computed data of [temperature $T$, $g_{*}(T)$, $g_{s}(T)$, energy($T$)] stored in src\gwinspect\data\eff_rel_dof.txt using load_eff_rel_dof()
  • constants.py

    • Contains constants: reduced Planck mass m_P, present CMB temperature T0, scalar amplitude A_S, Present radiation density parameter omega_rad0, BBN temperature T_bbn, matter-radiation equality temperature T_eq
    • Users can also redefine the values of this conatant using set_constants

📚 Citation

This package accompanies the paper:

Swagat S. Mishra & Athul K. Soman (2025)
Morphological Zoo of Inflationary Gravitational Wave Spectra imprinted by a Sequence of Post-Inflationary Epochs
arXiv:2510.25672

If you use GWInSpect in academic work, please cite:

@article{Mishra:2025nnu,
    author = "Mishra, Swagat S. and Soman, Athul K.",
    title = "{Morphological Zoo of Inflationary Gravitational Wave Spectra imprinted by a Sequence of Post-Inflationary Epochs}",
    eprint = "2510.25672",
    archivePrefix = "arXiv",
    primaryClass = "astro-ph.CO",
    month = "10",
    year = "2025"
}

🛠 License

GPL-3.0-or-later
©️ GWInSpect authors (2025)

🙋 Feedback

Thank you for your interest in GWInSpect 💜.
Please report issues or suggestions at: github.com/athul104/GWInSpect/issues


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

gwinspect-1.0.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

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

gwinspect-1.0.0-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file gwinspect-1.0.0.tar.gz.

File metadata

  • Download URL: gwinspect-1.0.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for gwinspect-1.0.0.tar.gz
Algorithm Hash digest
SHA256 155de740290811d717ea364e822331fe5e98b9460b191c50e9a3152dd5c62781
MD5 1a7334cbe38eb55be3a4f37e37dc9cd2
BLAKE2b-256 90e1b86d7b9989813144439231c26308528325df0e658979943af93087b0da56

See more details on using hashes here.

File details

Details for the file gwinspect-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: gwinspect-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for gwinspect-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 80542f5f8b1e857c0a174bdacb70252a74a0229cc4b137f670e9242045d09e03
MD5 8670c0c158baf157307505c51b67d4f9
BLAKE2b-256 ec30af0c6804e05366a75a93874ffabb990baa85af37c6f6aca3081a5ed9bc5f

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