A fast elliptical accretion disk modeling engine built on JAX and NumPyro.
feadme implements the elliptical accretion disk model described in
Eracleous et al. (1995)
and fits it to double-peaked emission line profiles via Bayesian inference.
- Fast: JAX-accelerated disk integration with JIT compilation and GPU support.
- Bayesian: NUTS-based posterior sampling via NumPyro with full uncertainty quantification.
- Flexible: JSON-driven model templates supporting multiple disk and line components with shared parameters.
- Robust initialization: SVI, Pathfinder, MAP, AutoDelta-style MAP, and JAX-LSQ initializers for difficult multimodal line-profile fits.
pip install feadme # CPU
pip install feadme[gpu] # GPU (CUDA 12)From source with uv:
git clone https://github.com/nmearl/feadme.git
cd feadme
uv sync --group devFrom source without uv:
git clone https://github.com/nmearl/feadme.git
cd feadme
pip install -e ".[dev]"feadme run \
--template-path my_template.json \
--data-path my_data.csv \
--output-path results \
--init-method jax-lsq \
--integrator mixedSee the documentation for the full CLI reference, data format, and template specification.
Bug reports, feature requests, and pull requests are welcome on the GitHub repository.
