GaussianIVPFilter

class probnum.diffeq.GaussianIVPFilter(ivp, gaussfilt, with_smoothing)[source]

Bases: probnum.diffeq.ODESolver

ODE solver that behaves like a Gaussian filter.

This is based on continuous-discrete Gaussian filtering.

Note: this is specific for IVPs and does not apply without further considerations to, e.g., BVPs.

Parameters

gaussfilt (gaussianfilter.GaussianFilter) – e.g. the return value of ivp_to_ukf(), ivp_to_ekf1().

Notes

  • gaussfilt.dynamicmodel contains the prior,

  • gaussfilt.measurementmodel contains the information about the ODE right hand side function,

  • gaussfilt.initialdistribution contains the information about the initial values.

Attributes Summary

prior

Methods Summary

initialise()

Returns t0 and y0 (for the solver, which might be different to ivp.y0)

method_callback(time, current_guess, …)

Optional callback.

postprocess(times, rvs)

Rescale covariances with sigma square estimate, (if specified) smooth the estimate, return ODESolution.

solve(firststep, steprule, **kwargs)

Solve an IVP.

step(t, t_new, current_rv, **kwargs)

Gaussian IVP filter step as nonlinear Kalman filtering with zero data.

undo_preconditioning(rv)

Attributes Documentation

prior

Methods Documentation

initialise()[source]

Returns t0 and y0 (for the solver, which might be different to ivp.y0)

method_callback(time, current_guess, current_error)

Optional callback.

Can be overwritten. Do this as soon as it is clear that the current guess is accepted, but before storing it. No return. For example: tune hyperparameters (sigma).

postprocess(times, rvs)[source]

Rescale covariances with sigma square estimate, (if specified) smooth the estimate, return ODESolution.

solve(firststep, steprule, **kwargs)

Solve an IVP.

Parameters
  • firststep (float) – First step for adaptive step-size rule.

  • steprule (StepRule) – Step-size selection rule, e.g. constant steps or adaptive steps.

step(t, t_new, current_rv, **kwargs)[source]

Gaussian IVP filter step as nonlinear Kalman filtering with zero data.

undo_preconditioning(rv)[source]