https://github.com/hersle/symboltz.jl
A symbolic-numeric, approximation-free and differentiable linear Einstein-Boltzmann solver
https://github.com/hersle/symboltz.jl
boltzmann-code cosmology einstein-boltzmann
Last synced: 3 months ago
JSON representation
A symbolic-numeric, approximation-free and differentiable linear Einstein-Boltzmann solver
- Host: GitHub
- URL: https://github.com/hersle/symboltz.jl
- Owner: hersle
- License: mit
- Created: 2024-01-22T19:06:50.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-10-15T19:36:52.000Z (8 months ago)
- Last Synced: 2025-10-16T15:08:08.264Z (8 months ago)
- Topics: boltzmann-code, cosmology, einstein-boltzmann
- Language: Julia
- Homepage: https://hersle.github.io/SymBoltz.jl/
- Size: 32.2 MB
- Stars: 24
- Watchers: 1
- Forks: 0
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SymBoltz.jl
[](https://hersle.github.io/SymBoltz.jl/stable/)
[](https://arxiv.org/abs/2509.24740)
[](https://github.com/hersle/SymBoltz.jl/actions/workflows/ContinuousIntegration.yml)
[](https://github.com/hersle/SymBoltz.jl/blob/main/LICENSE)
SymBoltz.jl is a Julia package for solving the linear Einstein-Boltzmann equations in cosmology. It is:
- **Symbolic-numeric:** Models are specified with symbolic equations in a simple, convenient and extensible high-level format, then automatically compiled to fast numerical functions that are solved.
- **Approximation-free:** Full equations are solved at all times without tight-coupling, ultrarelativistic fluid and radiation-streaming approximations (TCA, UFA and RSA) using efficient implicit ODE integrators.
- **Differentiable**: Get derivatives of any output (e.g. power spectra) with respect to any input (e.g. cosmological parameters) using automatic differentiation (exact to numerical precision and does not need step size tuning).
## Installation
[Install Julia](https://julialang.org/install/), launch `julia` and run:
```julia
using Pkg; Pkg.add("SymBoltz")
```
## Documentation
Visit [**the documentation pages**](https://hersle.github.io/SymBoltz.jl/) to get started with tutorials and examples.
## Gallery

## Citation
If you use SymBoltz in your work, please cite [this paper](https://arxiv.org/abs/2509.24740):
```
@article{SymBoltz,
title = {{SymBoltz.jl}: a symbolic-numeric, approximation-free and differentiable linear {Einstein-Boltzmann} solver},
author = {Herman Sletmoen},
year = {2025},
journal = {arXiv},
eprint = {2509.24740},
archiveprefix = {arXiv},
primaryclass = {astro-ph.CO},
doi = {10.48550/arXiv.2509.24740},
url = {http://arxiv.org/abs/2509.24740},
}
```