ivp2ekf0

probnum.diffeq.ivp2ekf0(ivp, prior, evlvar)[source]

Computes measurement model and initial distribution for KF based on IVP and prior.

Initialdistribution:

Conditions the initial distribution of the Gaussian filter onto the initial values.

  • If preconditioning is set to False, it conditions the initial distribution \(\mathcal{N}(0, I)\) on the initial values \((x_0, f(t_0, x_0), ...)\) using as many available deri vatives as possible.
  • If preconditioning is set to True, it conditions the initial distribution \(\mathcal{N}(0, P P^\top)\) on the initial values \((x_0, f(t_0, x_0), ...)\) using as many available derivatives as possible. Note that the projection matrices \(H_0\) and \(H_1\) become \(H_0 P^{-1}\) and \(H_1 P^{-1}\) which has to be taken into account during the preconditioning.

Measurement model:

Returns a measurement model \(\mathcal{N}(g(m), R)\) involving computing the discrepancy

\[g(m) = H_1 m(t) - f(t, H_0 m(t)).\]

Then it returns either type of Gaussian filter, each with a different interpretation of the Jacobian \(J_g\):

  • EKF0 thinks \(J_g(m) = H_1\)
  • EKF1 thinks \(J_g(m) = H_1 - J_f(t, H_0 m(t)) H_0^\top\)
  • UKF thinks: ‘’What is a Jacobian?’‘

Note that, again, in the case of a preconditioned state space model, \(H_0\) and \(H_1\) become \(H_0 P^{-1}\) and \(H_1 P^{-1}\) which has to be taken into account. In this case,

  • EKF0 thinks \(J_g(m) = H_1 P^{-1}\)
  • EKF1 thinks \(J_g(m) = H_1 P^{-1} - J_f(t, H_0 P^{-1} m(t)) (H_0 P^{-1})^\top\)
  • UKF again thinks: ‘’What is a Jacobian?’‘

Note: The choice between \(H_i\) and \(H_i P^{-1}\) is taken care of within the Prior.

Returns ExtendedKalmanFilter object that is compatible with the GaussianIVPFilter.

evlvar : float,
measurement variance; in the literature, this is “R”