types.core.DiffusionFunction

types.core.DiffusionFunction

Diffusion function g(x, u) for stochastic systems.

Returns noise gain matrix.

Parameters

Name Type Description Default
x StateVector State (nx,) required
u Optional[ControlVector] Control (nu,) or None required

Returns

Name Type Description
DiffusionMatrix Diffusion matrix (nx, nw)

Examples

>>> # Additive noise (constant)
>>> def g_additive(x: StateVector, u: ControlVector) -> DiffusionMatrix:
...     return 0.1 * np.eye(nx)
>>> 
>>> # Multiplicative noise (state-dependent)
>>> def g_multiplicative(x: StateVector, u: ControlVector) -> DiffusionMatrix:
...     return np.diag(0.1 * np.abs(x))
>>> 
>>> # Geometric Brownian motion
>>> def g_gbm(x: StateVector, u: ControlVector) -> DiffusionMatrix:
...     return np.array([[sigma * x[0]]])