Skip to content

smolgp-dev/smolgp

Repository files navigation

smolgp-logo
smolgp
State Space Models for O(Linear/Log) Gaussian Processes

docs Tests codecov Journal arXiv DOI

smolgp is a standalone extension of the tinygp package that implements scalable & GPU-parallelizable Gaussian Processes in JAX using the state space representation. It is particularly suited for integrated measurements (such as long exposures in astronomy), jointly modeling data from multiple instruments, and for scalable implementations of popular kernels that traditionally lack quasiseparable structure (e.g. the quasiperiodic kernel).

The smolgp API is designed to be as similar to tinygp as possible. In almost all cases, you can simply find-and-replace "smol" with "tiny" in your existing code.

Main features

  1. A Kalman filter and RTS smoother compatible with tinygp-like GP kernels.
  2. Scalable (O(N)) solving with integrated (and possibly overlapping) measurements from multiple instruments (see Rubenzahl and Hattori et al. 2026).
  3. Parallelized versions of 1 (see Särkkä and García-Fernández 2020) and 2 (see Rubenzahl and Hattori et al. 2026).
  4. Approximations of popular GP kernels that lack quasiseparability (e.g., ExpSineSquared, Quasiperiodic) that can utilize the O(N) state space solvers.
  5. A convenient and optimally-efficient model-building framework to assemble multicomponent GPs and compute per-component distributions.

Check out the docs for more information, including tutorials: https://smolgp.readthedocs.io/

Please raise issues here and/or reach out to Ryan Rubenzahl and/or So Hattori.

Installation

You can install the most recent release from PyPI, e.g. with uv:

uv add smolgp

Or, you can simply clone this repository and install locally:

git clone https://github.com/smolgp-dev/smolgp.git
cd smolgp
uv pip install -e .

Citation

DOI Journal arXiv

If you use smolgp in your research, please cite the relevant software release and published paper. The cffconvert tool can be used to generate a bibtex entry from the included CITATION.cff (or just use the "cite this repository" button on the GitHub sidebar).

Author & Contact

GitHub followers GitHub followers

This repo is maintained by Ryan Rubenzahl and So Hattori.

About

Gaussian Process State Space Models in Python/JAX

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages