Skip to main content

Gaussian Process State Space Models in Python/JAX

Project description

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

docs Tests codecov 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 .

Note that tinygp dependencies require the latest version of the tinygp GitHub repository, rather than the version on PyPI. uv should handle this automatically.

Citation

DOI arXiv

If you use smolgp in your research, please cite the relevant software release and 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smolgp-0.1.1.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smolgp-0.1.1-py3-none-any.whl (62.6 kB view details)

Uploaded Python 3

File details

Details for the file smolgp-0.1.1.tar.gz.

File metadata

  • Download URL: smolgp-0.1.1.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for smolgp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6291e1fdd76ff18a951511cf08b129b2401d9fe9f3fcfcb7bca593dbcba59125
MD5 ee1373cc55ca6f1c17ba346f518e9a03
BLAKE2b-256 078f3dd203640073be573346019bd3abe42d4b2f9f75e9fed0e6d09c5c80dda6

See more details on using hashes here.

Provenance

The following attestation bundles were made for smolgp-0.1.1.tar.gz:

Publisher: pypi-publish.yml on smolgp-dev/smolgp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file smolgp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: smolgp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 62.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for smolgp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ff069fe1617e2009370993e73a62d6de0960469692ef160675312a80316b8b69
MD5 565b4294bf8c7f0fb662479e27f41688
BLAKE2b-256 156876cb2f2e40431ee0f84b249fcac6bc8920f01cfe74ff7e3f17ec3311a370

See more details on using hashes here.

Provenance

The following attestation bundles were made for smolgp-0.1.1-py3-none-any.whl:

Publisher: pypi-publish.yml on smolgp-dev/smolgp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page