JESTER Documentation#
JAX-accelerated equation of state inference and TOV solvers
jester performs Bayesian inference on neutron star equations of state using GPU-accelerated TOV solvers through jax.
Note
Documentation is work in progress! Some sections may be incomplete or under active development. We appreciate your patience as we improve the documentation.
What’s in JESTER?#
JESTER combines flexible EOS parametrizations with GPU-accelerated TOV solvers and modern Bayesian samplers. See the Overview guide for detailed explanations.
Parametrize the equation of state of nuclear matter
⚙️ TOV Solvers
Integrate neutron star structure equations
Multi-messenger astronomical observations
📊 Samplers
GPU-accelerated Bayesian inference
Installation#
jester depends on a specific fork of blackjax for nested sampling support,
which prevents publishing to PyPI. Install the latest version by cloning the repository:
git clone https://github.com/nuclear-multimessenger-astronomy/jester
cd jester
uv sync
Extra dependencies can be installed as follows:
uv sync --extra cuda12 # For GPU support (fast sampling)
uv sync --extra dev # For developers (work on documentation, run tests,...)
To run Bayesian inference, make sure to install support for CUDA or upgrade jax according to the
jax documentation page:
uv sync --extra cuda12
Contents#
Overview
Examples
Inference Guide
API Reference
Developer Guide
- Adding a New EOS Model
- Adding a New TOV Solver
- Adding a New Likelihood
- Architecture Overview
- Step 1: Create Likelihood Class
- Step 2: Add Data Loading Function
- Step 3: Update Configuration Schema
- Step 4: Register in Likelihood Factory
- Step 5: Write Tests
- Step 6: Create Example Configuration
- Step 7: Documentation
- Checklist
- Common Pitfalls
- Advanced: Resampling Likelihoods
- Need Help?
- Inference Documentation Maintenance Guide
- Citing Jester