arvoelke / nengolib

Nengo library of additional extensions
Other
29 stars 6 forks source link

Abstraction for manipulating LTI systems #13

Closed arvoelke closed 8 years ago

arvoelke commented 8 years ago

Create a class that accepts a system in any number of forms:

Then functions such as impulse, is_exp_stable, scale_state, and state_norm must accept these objects. The objects may also support multiplication, operation, and comparisons.

arvoelke commented 8 years ago

Also might as well make it handle MIMO, thereby addressing https://github.com/scipy/scipy/issues/5753

arvoelke commented 8 years ago

Basic functionality in 641662c348113186a2c268833ddcee3a4687cebe, supports:

Currently reconsidering the challenge of handling MIMO. One issue is that multiplication is no longer associative. Another issue is it becomes difficult to disambiguate the many possible representations for the system. In particular, if the shape of the array has two dimensions, it could be SIMO, MISO, or even MIMO with a mismatch in the lengths of the numerator polynomials. Finally all the use cases and examples are currently SISO and so I'm afraid this just introduces unnecessary complexity (at least for now).