celerite¶
A scalable method for Gaussian Process regression. From French célérité.
celerite is a library for fast and scalable Gaussian Process (GP) Regression in one dimension with implementations in C++, Python, and Julia. The Python implementation is the most stable and it exposes the most features but it relies on the C++ implementation for computational efficiency. This documentation won’t teach you the fundamentals of GP modeling but the best resource for learning about this is available for free online: Rasmussen & Williams (2006).
The celerite API is designed to be familiar to users of george and, like george, celerite is designed to efficiently evaluate the marginalized likelihood of a dataset under a GP model. This is then meant to be used alongside your favorite non-linear optimization or posterior inference library for the best results.
celerite is being actively developed in a public repository on GitHub so if you have any trouble, open an issue there.
Note
To work with the Julia package manager, the Julia implementation of the algorithm is being developed in a separate repository but the documentation is still included here.
Contributors¶
celerite is being developed by Dan Foreman-Mackey (@dfm) and Eric Agol (@EricAgol) with contributions from:
License & Attribution¶
Copyright 2016-2020 Daniel Foreman-Mackey, Eric Agol and contributors.
The source code is made available under the terms of the MIT license.
If you make use of this code, please cite the following paper:
@article{celerite,
author = {{Foreman-Mackey}, D. and {Agol}, E. and {Angus}, R. and
{Ambikasaran}, S.},
title = {Fast and scalable Gaussian process modeling
with applications to astronomical time series},
year = {2017},
journal = {ArXiv},
url = {https://arxiv.org/abs/1703.09710}
}
Changelog¶
0.4.0 (2020-07-07)¶
Maintenance release to keep dependencies up to date.
Building binary wheels for PyPI using Github Actions.
0.3.0 (2017-11-13)¶
Added support for fully general semiseparable kernels.
Added
quiet
argument to likelihood functions.
0.2.1 (2017-06-12)¶
Small bug fixes.
New
celerite.solver.LinAlgError
exception thrown for non-positive definite matrices instead ofRuntimeError
.
0.2.0 (2017-05-09)¶
Switched to (~20x) faster Cholesky factorization.
Added O(N) simulation method using Cholesky factor.
Implemented gradients using automatic differentiation.
Changed implementation of white noise to
JitterTerm
instead oflog_white_noise
parameter.
0.1.3 (2017-03-27)¶
Prepared manuscript and docs for submission.
Added
SingleSolver
to implement the Rybicki & Press method.
0.1.2 (2017-02-23)¶
Fixed bug when pickling
Model
objects.Added sparse solver using
Eigen/SparseLU
.
0.1.1 (2017-02-12)¶
Windows build support.
Faster solver for wide problems by linking to LAPACK.
0.1.0 (2017-02-10)¶
Initial stable release.