types.protocols.StochasticSystemProtocol

types.protocols.StochasticSystemProtocol()

System with stochastic dynamics (continuous or discrete).

This protocol can be combined with discrete or continuous protocols to indicate stochastic capabilities.

Implementations

  • ContinuousStochasticSystem
  • DiscreteStochasticSystem

Examples

>>> def estimate_noise_covariance(
...     system: StochasticSystemProtocol,
...     n_samples: int = 1000
... ) -> np.ndarray:
...     '''Estimate noise covariance from simulation.'''
...     if system.is_additive_noise():
...         # Constant noise - compute once
...         G = system.get_constant_noise()
...         return G @ G.T
...     else:
...         # State-dependent - estimate via Monte Carlo
...         # ...
...         pass

Attributes

Name Description
is_stochastic True for stochastic systems
nw Number of noise sources

Methods

Name Description
is_additive_noise True if noise is state-independent
is_multiplicative_noise True if noise depends on state

is_additive_noise

types.protocols.StochasticSystemProtocol.is_additive_noise()

True if noise is state-independent

is_multiplicative_noise

types.protocols.StochasticSystemProtocol.is_multiplicative_noise()

True if noise depends on state