class tinygp.kernels.quasisep.Quasisep[source]#

Bases: tinygp.kernels.base.Kernel

The base class for all quasiseparable kernels

Instead of directly implementing the p, q, and a elements of the tinygp.solvers.quasisep.core.StrictLowerQSM, this class implements h, Pinf, and A, where:

  • q = h,

  • p = h.T @ Pinf @ A, and

  • a = A.

This notation follows the notation from state space models for stochastic differential equations, and so far it seems like a good way to specify these models, but these details are subject to change in future versions of tinygp.

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

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.

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

The design matrix for the process

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

The kernel evaluated via the quasiseparable representation

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

For quasiseparable kernels, the variance is simple to compute

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

The observation model for the process

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

The stationary covariance of the process

to_general_qsm(X1: tinygp.helpers.JAXArray, X2: tinygp.helpers.JAXArray) tinygp.solvers.quasisep.general.GeneralQSM[source]#

The generalized quasiseparable representation of this kernel

to_symm_qsm(X: tinygp.helpers.JAXArray) tinygp.solvers.quasisep.core.SymmQSM[source]#

The symmetric quasiseparable representation of this kernel

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

The transition matrix between two coordinates