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.

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, …) Update the sigma-squared (ssq) estimate.
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)[source]

Update the sigma-squared (ssq) estimate.

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]