Matern

class probnum.filtsmooth.statespace.Matern(ordint, spatialdim, lengthscale, diffconst)[source]

Bases: probnum.filtsmooth.statespace.integrator.Integrator, probnum.filtsmooth.statespace.sde.LTISDE

Matern process in \(d\) dimensions.

Attributes Summary

dimension

Spatial dimension (utility attribute).

Methods Summary

discretise(step)

Returns a discrete transition model (i.e.

proj2coord(coord)

Projection matrix to \(i\) th coordinates.

transition_realization(real, start, stop, …)

Transition a realization of a random variable from time \(t\) to time \(t+\Delta t\).

transition_realization_preconditioned(real, …)

Applies the transition, assuming that the state is already preconditioned.

transition_rv(rv, start, stop, **kwargs)

Transition a random variable from time \(t\) to time \(t+\Delta t\).

transition_rv_preconditioned(rv, start[, …])

Applies the transition, assuming that the state is already preconditioned.

Attributes Documentation

dimension

Spatial dimension (utility attribute).

Methods Documentation

discretise(step)

Returns a discrete transition model (i.e. mild solution to SDE) using matrix fraction decomposition.

That is, matrices A(h) and Q(h) and vector s(h) such that the transition is

\[x | x_\text{old} \sim \mathcal{N}(A(h) x_\text{old} + s(h), Q(h)) ,\]

which is the transition of the mild solution to the LTI SDE.

proj2coord(coord)

Projection matrix to \(i\) th coordinates.

Computes the matrix

\[H_i = \left[ I_d \otimes e_i \right] P^{-1},\]

where \(e_i\) is the \(i\) th unit vector, that projects to the \(i\) th coordinate of a vector. If the ODE is multidimensional, it projects to each of the \(i\) th coordinates of each ODE dimension.

Parameters

coord (int) – Coordinate index \(i\) which to project to. Expected to be in range \(0 \leq i \leq q + 1\).

Returns

Projection matrix \(H_i\).

Return type

np.ndarray, shape=(d, d*(q+1))

transition_realization(real, start, stop, **kwargs)

Transition a realization of a random variable from time \(t\) to time \(t+\Delta t\).

For random variable \(x_t\), it returns the random variable defined by

\[x_{t + \Delta t} \sim p(x_{t + \Delta t} | x_t = r) .\]

This is different to transition_rv() which computes the parametrization of \(x_{t + \Delta t}\) based on the parametrization of \(x_t\).

Nb: Think of transition as a verb, i.e. this method “transitions” a realization of a random variable.

Parameters
  • real – Realization of the random variable.

  • start – Starting point \(t\).

  • stop – End point \(t + \Delta t\).

  • step – Intermediate step-size. Optional, default is None.

  • linearise_at – For approximate transitions , for instance ContinuousEKFComponent, this argument overloads the state at which the Jacobian is computed.

Returns

  • RandomVariable – Random variable, describing the state at time \(t + \Delta t\) based on realization at time \(t\).

  • dict – Additional information in form of a dictionary, for instance the cross-covariance in the prediction step, access to which is useful in smoothing.

See also

transition_rv()

Apply transition to a random variable.

transition_realization_preconditioned(real, start, stop=None, step=None, linearise_at=None)

Applies the transition, assuming that the state is already preconditioned.

This is useful for numerically stable implementation of Kalman smoothing steps and Kalman updates.

Return type

(probnum.random_variables.RandomVariable, typing.Dict)

transition_rv(rv, start, stop, **kwargs)

Transition a random variable from time \(t\) to time \(t+\Delta t\).

For random variable \(x_t\), it returns the random variable defined by

\[x_{t + \Delta t} \sim p(x_{t + \Delta t} | x_t) .\]

This returns a random variable where the parametrization depends on the paramtrization of \(x_t\). This is different to transition_rv() which computes the parametrization of \(x_{t + \Delta t}\) based on a realization of \(x_t\).

Nb: Think of transition as a verb, i.e. this method “transitions” a random variable.

Parameters
  • rv – Realization of the random variable.

  • start – Starting point \(t\).

  • stop – End point \(t + \Delta t\).

  • step – Intermediate step-size. Optional, default is None.

  • linearise_at – For approximate transitions , for instance ContinuousEKFComponent, this argument overloads the state at which the Jacobian is computed.

Returns

  • RandomVariable – Random variable, describing the state at time \(t + \Delta t\) based on realization at time \(t\).

  • dict – Additional information in form of a dictionary, for instance the cross-covariance in the prediction step, access to which is useful in smoothing.

See also

transition_realization()

Apply transition to a realization of a random variable.

transition_rv_preconditioned(rv, start, stop=None, step=None, linearise_at=None)

Applies the transition, assuming that the state is already preconditioned.

This is useful for numerically stable implementation of Kalman smoothing steps and Kalman updates.

Return type

(probnum.random_variables.RandomVariable, typing.Dict)