PiecewiseConstantDiffusion

class probnum.randprocs.markov.continuous.PiecewiseConstantDiffusion(t0)

Bases: Diffusion

Piecewise constant diffusion.

It is defined by a set of diffusions \((\sigma_1, ..., \sigma_N)\) and a set of locations \((t_0, ..., t_N)\) through

\[\begin{split}\sigma(t) = \left\{ \begin{array}{ll} \sigma_1 & \text{ if } t < t_0\\ \sigma_n & \text{ if } t_{n-1} \leq t < t_{n}, ~n=1, ..., N\\ \sigma_N & \text{ if } t_{N} \leq t\\ \end{array} \right.\end{split}\]

In other words, a tuple \((t, \sigma)\) always defines the diffusion right of \(t\) as \(\sigma\) (including the point \(t\)), except for the very first tuple \((t_0, \sigma_0)\) which also defines the diffusion left of \(t\). This choice of piecewise constant function is continuous from the right.

Parameters

t0 – Initial time point. This is the leftmost time-point of the interval on which the diffusion is calibrated.

Attributes Summary

diffusions

locations

t0

tmax

Methods Summary

__call__(t)

Evaluate the diffusion \(\sigma(t)\) at \(t\).

estimate_locally(meas_rv, ...)

Estimate the (local) diffusion and update current (global) estimation in- place.

update_in_place(local_estimate, t)

Attributes Documentation

diffusions
locations
t0
tmax

Methods Documentation

__call__(t)[source]

Evaluate the diffusion \(\sigma(t)\) at \(t\).

Parameters

t (Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]) –

Return type

Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]], ndarray]

estimate_locally(meas_rv, meas_rv_assuming_zero_previous_cov, t)[source]

Estimate the (local) diffusion and update current (global) estimation in- place.

Used for uncertainty calibration in the ODE solver.

Parameters
Return type

Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]

update_in_place(local_estimate, t)[source]