ODESolver

class probnum.diffeq.ODESolver(order, steprule)

Bases: abc.ABC

Interface for ODE solvers in ProbNum.

Methods Summary

initialise(ivp)

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

method_callback(time, current_guess, …)

Optional callback.

postprocess(odesol)

Process the ODESolution object before returning.

rvlist_to_odesol(times, rvs)

Create an ODESolution object.

solution_generator(ivp)

Generate ODE solver steps.

solve(ivp)

Solve an IVP.

step(start, stop, current, **kwargs)

Every ODE solver needs a step() method that returns a new random variable and an error estimate.

Methods Documentation

abstract initialise(ivp)[source]

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

method_callback(time, current_guess, current_error)[source]

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(odesol)[source]

Process the ODESolution object before returning.

abstract rvlist_to_odesol(times, rvs)[source]

Create an ODESolution object.

solution_generator(ivp)[source]

Generate ODE solver steps.

solve(ivp)[source]

Solve an IVP.

abstract step(start, stop, current, **kwargs)[source]

Every ODE solver needs a step() method that returns a new random variable and an error estimate.