ODESolution

class probnum.diffeq.ODESolution(locations, states, derivatives=None)[source]

Bases: probnum.filtsmooth.timeseriesposterior.TimeSeriesPosterior

ODE solution.

Parameters
  • locations (ndarray) – Locations of the time-grid that was used by the ODE solver.

  • states (_RandomVariableList) – Output of the ODE solver at the locations.

  • derivatives (Optional[_RandomVariableList]) – Derivatives of the states at the locations. Optional. Default is None. Some ODE solvers provide these estimates, others do not.

Methods Summary

__call__(t)

Evaluate the time-continuous posterior at location t

interpolate(t)

Evaluate the posterior at a non-grid point.

sample([t, size, random_state])

Sample from the ODE solution.

transform_base_measure_realizations(…[, t])

Transform a set of realizations from a base measure into realizations from the posterior.

Methods Documentation

__call__(t)

Evaluate the time-continuous posterior at location t

Algorithm: 1. Find closest t_prev and t_next, with t_prev < t < t_next 2. Predict from t_prev to t 3. (if self._with_smoothing=True) Predict from t to t_next 4. (if self._with_smoothing=True) Smooth from t_next to t 5. Return random variable for time t

Parameters

t (Union[Real, ndarray]) – Location, or time, at which to evaluate the posterior.

Returns

Estimate of the states at time t.

Return type

randvars.RandomVariable or _randomvariablelist._RandomVariableList

interpolate(t)[source]

Evaluate the posterior at a non-grid point.

Parameters

t (Real) – Location to evaluate at.

Returns

Dense evaluation.

Return type

randvars.RandomVariable or _randomvariablelist._RandomVariableList

sample(t=None, size=(), random_state=None)[source]

Sample from the ODE solution.

Parameters
  • t (Union[Real, ndarray, None]) – Location / time at which to sample. If nothing is specified, samples at the ODE-solver grid points are computed. If it is a float, a sample of the ODE-solution at this time point is computed. Similarly, if it is a list of floats (or an array), samples at the specified grid-points are returned. This is not the same as computing i.i.d samples at the respective locations.

  • size (Union[Integral, Iterable[Integral], None]) – Number of samples.

Return type

ndarray

transform_base_measure_realizations(base_measure_realizations, t=None)[source]

Transform a set of realizations from a base measure into realizations from the posterior.

Parameters
  • base_measure_realizations (ndarray) – Base measure realizations.

  • t (Union[Real, ndarray, None]) – Locations on which the transformed realizations shall represent realizations from the posterior.

Returns

Transformed realizations.

Return type

np.ndarray