LinearSDE¶
-
class
probnum.filtsmooth.statespace.
LinearSDE
(driftmatfun, forcevecfun, dispmatfun)[source]¶ Bases:
probnum.filtsmooth.statespace.sde.SDE
Linear stochastic differential equation (SDE),
\[d x(t) = [G(t) x(t) + v(t)] d t + L(t) x(t) d w(t).\]For Gaussian initial conditions, this solution is a Gaussian process.
- Parameters
driftmatfun (
Callable
[[Real
],ndarray
]) – This is G = G(t). The evaluations of this function are called the driftmatrix of the SDE. Returns np.ndarray with shape=(n, n)forcevecfun (
Callable
[[Real
],ndarray
]) – This is v = v(t). Evaluations of this function are called the force(vector) of the SDE. Returns np.ndarray with shape=(n,)dispmatfun (
Callable
[[Real
],ndarray
]) – This is L = L(t). Evaluations of this function are called the dispersion(matrix) of the SDE. Returns np.ndarray with shape=(n, s)
Attributes Summary
Spatial dimension (utility attribute).
Methods Summary
transition_realization
(real, start, stop, …)Transition a realization of a random variable from time \(t\) to time \(t+\Delta t\).
Applies the transition, assuming that the state is already preconditioned.
transition_rv
(rv, start, stop, step, **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
-
transition_realization
(real, start, stop, step, **kwargs)[source]¶ 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
-
transition_rv
(rv, start, stop, step, **kwargs)[source]¶ 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