DiscreteLinearGaussian¶
-
class
probnum.filtsmooth.
DiscreteLinearGaussian
(dynamatfct, forcefct, diffmatfct)¶ Bases:
probnum.filtsmooth.statespace.DiscreteGaussian
Discrete, linear Gaussian transition models of the form.
\[x_{i+1} \sim \mathcal{N}(G(t_i) x_i + v(t_i), S(t_i))\]for some dynamics matrix \(G=G(t)\), force vector \(v=v(t)\), and diffusion matrix \(S=S(t)\).
- Parameters
dynamatfct (callable) – Dynamics function \(G=G(t)\). Signature:
dynamatfct(t)
.forcefct (callable) – Force function \(v=v(t)\). Signature:
forcefct(t)
.diffmatfct (callable) – Diffusion matrix function \(S=S(t)\). Signature:
diffmatfct(t)
.
See also
DiscreteModel
,DiscreteGaussianLinearModel
Attributes Summary
Dimension of the transition model.
Methods Summary
__call__
(arr_or_rv[, start, stop])Transition a random variable or a realization of one.
diffusionmatrix
(time, **kwargs)Compute diffusion matrix \(S=S(t)\) at time \(t\).
dynamics
(time, state, **kwargs)Compute dynamics \(g=g(t, x)\) at time \(t\) and state \(x\).
dynamicsmatrix
(time, **kwargs)Compute dynamics matrix \(G=G(t)\) at time \(t\).
forcevector
(time, **kwargs)Compute force vector \(v=v(t)\) at time \(t\).
jacobian
(time, state, **kwargs)Compute diffusion matrix \(S=S(t)\) at time \(t\).
transition_realization
(real, start[, stop])Transition a realization of a random variable from time \(t\) to time \(t+\Delta t\).
transition_rv
(rv, start[, stop])Transition a random variable from time \(t\) to time \(t+\Delta t\).
Attributes Documentation
-
dimension
¶
Methods Documentation
-
__call__
(arr_or_rv, start=None, stop=None, **kwargs)¶ Transition a random variable or a realization of one.
The input is either interpreted as a random variable or as a realization. Accordingly, the respective methods are called:
transition_realization()
ortransition_rv()
.- Return type
(‘RandomVariable’, typing.Dict)
-
diffusionmatrix
(time, **kwargs)¶ Compute diffusion matrix \(S=S(t)\) at time \(t\).
- Parameters
time (float) – Time \(t\).
- Returns
Diffusion matrix \(S=S(t)\).
- Return type
np.ndarray
-
dynamics
(time, state, **kwargs)¶ Compute dynamics \(g=g(t, x)\) at time \(t\) and state \(x\).
- Parameters
time (float) – Time \(t\).
state (array_like) – State \(x\). For instance, realization of a random variable.
- Returns
Evaluation of \(g=g(t, x)\).
- Return type
np.ndarray
-
dynamicsmatrix
(time, **kwargs)[source]¶ Compute dynamics matrix \(G=G(t)\) at time \(t\). The output is equivalent to
jacobian()
.- Parameters
time (float) – Time \(t\).
- Returns
Evaluation of the dynamics matrix \(G=G(t)\).
- Return type
np.ndarray
-
forcevector
(time, **kwargs)[source]¶ Compute force vector \(v=v(t)\) at time \(t\).
- Parameters
time (float) – Time \(t\).
- Returns
Evaluation of the force \(v=v(t)\).
- Return type
np.ndarray
-
jacobian
(time, state, **kwargs)¶ Compute diffusion matrix \(S=S(t)\) at time \(t\).
- Parameters
time (float) – Time \(t\).
state (array_like) – State \(x\). For instance, realization of a random variable.
- Raises
NotImplementedError – If the Jacobian is not implemented. This is the case if
jacfct()
is not specified at initialization.- Returns
Evaluation of the Jacobian \(J g=Jg(t, x)\).
- Return type
np.ndarray
-
transition_realization
(real, start, stop=None, **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\).
- 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_rv
(rv, start, stop=None, **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\).
- 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.