You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
LinearIOSystems cannot be multiplied by a scalar/array #541
raise NotImplemented("Scalar multiplication not yet implemented")
This is because InputOutputSystems define various methods, e.g. __mul__ that override those in StateSpace and some are not implemented yet.
Options that come to mind if we want this to work better:
Test for instances of StateSpace correctly and dispatch. This seems to be onerous and at odds with how inheritance ought to make things easier.
In the __init__ method of LinearIOSystem, delete those methods
move those operations to NonLinearIOSystem (and override as necessary in LinearIOSystem when it makes sense to create a new LinearICSystem)
Related: many of the methods like __mul__ don't act on self and other but rather sys1 and sys2. This might still work, but I think the first argument should be self according to Python convention.
Activity
murrayrm commentedon Feb 11, 2021
See also issue #513, which has a long list of missing conversions.