Python control library: controlpy

I have decided to create a library for solving common control engineering problems in Python, available here on GitHub.

The goal is to be able to rapidly protype controllers in Python, in a way comparable to how one can do it in Matlab (but, without the big price tag). There is a similar project (by Richard Murray, no less) called the Python Control Systems Library.

Why re-invent the wheel? The project by Richard Murray requires Slycot, which was (for me, at least) a major pain to install. Controlpy should rely only on standard Python libraries such as NumPy as SciPy, making it much easier to install. Finally, it’s a nice opportunity for me to improve my Python skills, and to perhaps refine my knowledge on controls. Perhaps it may be useful for other people too.

What can it do? At the moment it can solve for LQR controllers and analyse the controllability of an LTI system. I hope to add H2 and H-infinity synthesis soon too. I will be adding features as I need them.