Skip to content

Operation properties

It may be useful to define operation properties for general use.

As an example, when determining the state-space representation of an SFG it is required that all operations are linear.

Properties may include:

  • linear (property is_linear)
  • commutative (is_commutative)
  • distributive (is_distributive)
  • some sort of "symmetry", i.e., we can swap the order of the inputs in some way

Challenge: if we introduce "finite word-length non-linearities", like quantization or limiters/saturation, it should still be possible to create a state-space representation, so we may need to set these to True although not strictly correct.

These should most likely be False in AbstractOperation and then opt-in for each operation.

An SFG can determine at least is_linear. (Maybe it makes sense to also say None here? In case it cannot be determined? But that will mess up typing...)

Edited by Oscar Gustafsson