# PiecewiseConstantDiffusion¶

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

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 rtype ndarray locations rtype ndarray t0 rtype float tmax rtype float

Methods Summary

 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
Return type

ndarray

locations
Return type

ndarray

t0
Return type

float

tmax
Return type

float

Methods Documentation

__call__(t)[source]

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

Return type
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.

Return type
update_in_place(local_estimate, t)[source]