class tinygp.kernels.quasisep.Celerite(a: JAXArray | float, b: JAXArray | float, c: JAXArray | float, d: JAXArray | float)[source]#

Bases: Quasisep

The baseline kernel from the celerite package

This form of the kernel was introduced by Foreman-Mackey et al. (2017), and implemented in the celerite package. It shouldn’t generally be used on its own, and other kernels described in this subpackage should generally be preferred.

This kernel takes the form:


for \(\tau = |x_i - x_j|\).

In order to be positive definite, the parameters of this kernel must satisfy \(a\,c - b\,d > 0\), and you will see NaNs if you use parameters that don’t satisfy this relationship.

coord_to_sortable(X: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray#

A helper function used to convert coordinates to sortable 1-D values

By default, this is the identity, but in cases where X is structured (e.g. multivariate inputs), this can be used to appropriately unwrap that structure.

design_matrix() tinygp.helpers.JAXArray[source]#

The design matrix for the process

evaluate(X1: tinygp.helpers.JAXArray, X2: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray#

The kernel evaluated via the quasiseparable representation

evaluate_diag(X: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray#

For quasiseparable kernels, the variance is simple to compute

observation_model(X: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray[source]#

The observation model for the process

stationary_covariance() tinygp.helpers.JAXArray[source]#

The stationary covariance of the process

to_general_qsm(X1: tinygp.helpers.JAXArray, X2: tinygp.helpers.JAXArray) GeneralQSM#

The generalized quasiseparable representation of this kernel

to_symm_qsm(X: tinygp.helpers.JAXArray) SymmQSM#

The symmetric quasiseparable representation of this kernel

transition_matrix(X1: tinygp.helpers.JAXArray, X2: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray[source]#

The transition matrix between two coordinates