solver#

Classes#

IntegratedStateSpaceSolver

A solver that uses jax.lax.scan to implement Kalman filtering

Module Contents#

class smolgp.solvers.integrated.solver.IntegratedStateSpaceSolver(kernel: smolgp.kernels.base.StateSpaceModel, X: tinygp.helpers.JAXArray, noise: tinygp.helpers.JAXArray)[source]#

Bases: equinox.Module

A solver that uses jax.lax.scan to implement Kalman filtering and RTS smoothing for integrated measurements

X: tinygp.helpers.JAXArray#
kernel: smolgp.kernels.base.StateSpaceModel#
noise: tinygp.helpers.JAXArray#
state_coords: tinygp.helpers.JAXArray#
normalization() tinygp.helpers.JAXArray[source]#
Kalman(y, return_v_S=False) Any[source]#

Wrapper for Kalman filter used with this solver

RTS(kalman_results) Any[source]#

Wrapper for RTS smoother used with this solver

condition(y, return_v_S=False) tinygp.helpers.JAXArray[source]#

Compute the Kalman predicted, filtered, and RTS smoothed means and covariances at each of the input coordinates

predict(X_test, conditioned_results) tinygp.helpers.JAXArray[source]#

Algorithm for making predictions at arbitrary coordinates X_test

Parameters:
  • X_test – The test coordinates.

  • conditioned_results – The output of self.condition()

Returns:

Predicted means of the states at X_test pred_var : Predicted variances of the states at X_test

Return type:

pred_mean

There are three cases:
  1. Retrodictionsmoothing from the first data point

    using the prior as the prediction

  2. Interpolationfiltering from most recent data point

    and smoothing from next future point

  3. Extrapolation : predicting from final filtered point