JAX-accelerated equation of state inference and TOV solvers
jester performs fast and accurate Bayesian inference on the neutron star equation of state (EOS) using GPU-accelerated TOV solvers and samplers through jax.
Tip
The documentation is the best place to get started. It covers installation, examples, a full Bayesian inference guide, and the API reference.
Try jester right away in your browser and infer the neutron star equation of state from GW170817 within 15 minutes — no installation required!
jester combines flexible EOS parametrizations with GPU-accelerated TOV solvers and modern Bayesian samplers. For full details on each component, see the overview section of the documentation.
| Component | Description |
|---|---|
| EOS models | Metamodel, Metamodel + CSE, Spectral expansion |
| TOV solvers | General Relativity, Pressure anisotropy, Modified gravity (scalar-tensor) |
| Likelihoods | Nuclear experiments (chiEFT), Radio timing, NICER mass-radius, Gravitational waves |
| Samplers | Sequential Monte Carlo, Nested Sampling, FlowMC (normalizing flows) |
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 syncExtra dependencies can be installed as follows:
uv sync --extra cuda12 # For GPU support (fast sampling)
uv sync --extra dev # For developers (run tests, build docs)To run Bayesian inference, make sure to install support for CUDA or upgrade jax according to the jax documentation page:
uv sync --extra cuda12Having trouble? Check out the FAQ.
All development guidelines — including how to run tests, contribute code, add new EOS models, TOV solvers, or likelihoods, and how to write documentation — are in CONTRIBUTING.md.
If you use jester in your work, please cite the relevant papers according to which parts you are using.
See the citing page in the documentation for the full list of references.