integrated#

These kernels are compatible with smolgp.solvers.integrated.IntegratedStateSpaceSolver, which uses Bayesian filtering and smoothing algorithms to perform scalable GP inference. (see smolgp.solvers for more technical details). On GPU, a performance boost may be observed for large datasets by using the smolgp.solvers.parallel.ParallelStateSpaceSolver class.

Like the quasisep kernels, these methods are experimental, so you may find the documentation patchy in places. You are encouraged to open issues or pull requests as you find gaps.

Classes#

IntegratedSHO

The SHO kernel integrated over a finite time range \(\delta\).

IntegratedExp

The Exp (Ornstein–Uhlenbeck / Matérn-1/2) kernel

IntegratedMatern32

The Matern32 kernel integrated over a finite time range \(\delta\).

IntegratedMatern52

The Matern52 kernel integrated over a finite time range \(\delta\).

IntegratedCosine

The Cosine kernel integrated over a finite time range \(\delta\).

Module Contents#

class smolgp.kernels.integrated.IntegratedSHO(omega: tinygp.helpers.JAXArray | float, quality: tinygp.helpers.JAXArray | float, sigma: tinygp.helpers.JAXArray | float = jnp.ones(()), num_insts: int = 1, name: str = 'IntegratedSHO', **kwargs)[source]#

Bases: IntegratedStateSpaceModel

The SHO kernel integrated over a finite time range \(\delta\).

Models the time-averaged version of the damped, driven stochastic harmonic oscillator kernel (see SHO). Each measurement is the average of the latent GP over an exposure window of length \(\delta\) centred on the observation time.

Parameters:
  • omega – The natural frequency \(\omega_0\).

  • quality – The quality factor \(Q\).

  • sigma (optional) – The amplitude \(\sigma\). Defaults to 1. Specifying it here provides a slight performance boost over multiplying the kernel by a scalar after construction.

  • num_insts (optional) – Number of distinct instrument datasets. Defaults to 1.

omega: tinygp.helpers.JAXArray | float#
quality: tinygp.helpers.JAXArray | float#
sigma: tinygp.helpers.JAXArray | float#
eta: tinygp.helpers.JAXArray | float#
num_insts = 1#
name = 'IntegratedSHO'#
base_model#
integrated_transition_matrix(X1: tinygp.helpers.JAXArray, X2: tinygp.helpers.JAXArray) tinygp.helpers.JAXArray[source]#

The integrated transition matrix Phibar for the SHO process

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

The integrated process noise submatrices for the SHO process

class smolgp.kernels.integrated.IntegratedExp(scale: tinygp.helpers.JAXArray | float, sigma: tinygp.helpers.JAXArray | float = jnp.ones(()), num_insts: int = 1, name: str = 'IntegratedExp', **kwargs)[source]#

Bases: IntegratedStateSpaceModel

The Exp (Ornstein–Uhlenbeck / Matérn-1/2) kernel integrated over a finite time range \(\delta\).

Parameters:
  • scale – The length scale \(\ell\).

  • sigma (optional) – The amplitude \(\sigma\). Defaults to 1.

  • num_insts (optional) – Number of distinct instrument datasets. Defaults to 1.

scale: tinygp.helpers.JAXArray | float#
sigma: tinygp.helpers.JAXArray | float#
lam: tinygp.helpers.JAXArray | float#
name = 'IntegratedExp'#
num_insts = 1#
base_model#
class smolgp.kernels.integrated.IntegratedMatern32(scale: tinygp.helpers.JAXArray | float, sigma: tinygp.helpers.JAXArray | float = jnp.ones(()), num_insts: int = 1, name: str = 'IntegratedMatern32', **kwargs)[source]#

Bases: IntegratedStateSpaceModel

The Matern32 kernel integrated over a finite time range \(\delta\).

Parameters:
  • scale – The length scale \(\ell\).

  • sigma (optional) – The amplitude \(\sigma\). Defaults to 1.

  • num_insts (optional) – Number of distinct instrument datasets. Defaults to 1.

scale: tinygp.helpers.JAXArray | float#
sigma: tinygp.helpers.JAXArray | float#
lam: tinygp.helpers.JAXArray | float#
name = 'IntegratedMatern32'#
num_insts = 1#
base_model#
class smolgp.kernels.integrated.IntegratedMatern52(scale: tinygp.helpers.JAXArray | float, sigma: tinygp.helpers.JAXArray | float = jnp.ones(()), num_insts: int = 1, name: str = 'IntegratedMatern52', **kwargs)[source]#

Bases: IntegratedStateSpaceModel

The Matern52 kernel integrated over a finite time range \(\delta\).

Parameters:
  • scale – The length scale \(\ell\).

  • sigma (optional) – The amplitude \(\sigma\). Defaults to 1.

  • num_insts (optional) – Number of distinct instrument datasets. Defaults to 1.

scale: tinygp.helpers.JAXArray | float#
sigma: tinygp.helpers.JAXArray | float#
lam: tinygp.helpers.JAXArray | float#
name = 'IntegratedMatern52'#
num_insts = 1#
base_model#
class smolgp.kernels.integrated.IntegratedCosine(scale: tinygp.helpers.JAXArray | float, sigma: tinygp.helpers.JAXArray | float = jnp.ones(()), num_insts: int = 1, name: str = 'IntegratedCosine', **kwargs)[source]#

Bases: IntegratedStateSpaceModel

The Cosine kernel integrated over a finite time range \(\delta\).

Parameters:
  • scale – The period \(\ell\).

  • sigma (optional) – The amplitude \(\sigma\). Defaults to 1.

  • num_insts (optional) – Number of distinct instrument datasets. Defaults to 1.

scale: tinygp.helpers.JAXArray | float#
sigma: tinygp.helpers.JAXArray | float#
omega: tinygp.helpers.JAXArray | float#
name = 'IntegratedCosine'#
num_insts = 1#
base_model#