ODESolution¶
-
class
probnum.diffeq.ODESolution(locations, states, derivatives=None)[source]¶ Bases:
probnum.filtsmooth.timeseriesposterior.TimeSeriesPosteriorODE 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[, previous_location, …])Evaluate the posterior at a measurement-free point.
sample([t, size, random_state])Sample from the ODE solution.
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, previous_location=None, previous_state=None, next_location=None, next_state=None)[source]¶ Evaluate the posterior at a measurement-free 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.random_state (
Union[None,int,RandomState,Generator]) – Random state used for sampling.
- Return type