probnum.diffeq

Differential Equations.

This package defines common dynamical models and probabilistic solvers for differential equations.

Functions

probsolve_ivp(f, t0, tmax, y0[, df, method, …])

Solve initial value problem with Gaussian filtering and smoothing.

propose_firststep(ivp)

Propose a suitable first step that can be taken by an ODE solver.

initialize_odefilter_with_rk(f, y0, t0, …)

Initialize an ODE filter by fitting the prior process to a few steps of an approximate ODE solution computed with Scipy’s RK.

initialize_odefilter_with_taylormode(f, y0, …)

Initialize an ODE filter with Taylor-mode automatic differentiation.

perturb_lognormal(rng, step, solver_order, …)

Perturb the step with lognormally distributed noise scaled by noise-scale.

perturb_uniform(rng, step, solver_order, …)

Perturb the step with uniformly distributed noise scaled by noise-scale.

Classes

ODESolver(ivp, order)

Interface for ODESolver.

GaussianIVPFilter(ivp, prior_process, …[, …])

ODE solver that uses a Gaussian filter.

StepRule(firststep)

(Adaptive) step size rules for ODE solvers.

ConstantSteps(stepsize)

Constant step size rule for ODE solvers.

AdaptiveSteps(firststep, atol, rtol[, …])

Adaptive step size selection using proportional control.

ODESolution(locations, states[, derivatives])

ODE solution.

KalmanODESolution(kalman_posterior)

Gaussian IVP filtering solution of an ODE problem.

PerturbedStepSolver(rng, solver, …)

ODE-Solver random perturbatino of the step-sizes.

PerturbedStepSolution(scales, locations, …)

Solution to the PerturbedStepSolver.

WrappedScipyRungeKutta(solver)

Wrapper for Runge-Kutta methods from Scipy, implements the stepfunction and dense output.

Class Inheritance Diagram

Inheritance diagram of probnum.diffeq.ODESolver, probnum.diffeq.odefiltsmooth.ivpfiltsmooth.GaussianIVPFilter, probnum.diffeq.StepRule, probnum.diffeq.steprule.ConstantSteps, probnum.diffeq.steprule.AdaptiveSteps, probnum.diffeq.odesolution.ODESolution, probnum.diffeq.odefiltsmooth.kalman_odesolution.KalmanODESolution, probnum.diffeq.perturbedsolvers._perturbedstepsolver.PerturbedStepSolver, probnum.diffeq.perturbedsolvers._perturbedstepsolution.PerturbedStepSolution, probnum.diffeq.wrappedscipysolver.WrappedScipyRungeKutta