The Python Control Systems Library is a Python module that implements basic operations for analysis and design of feedback control systems.
- Linear input/output systems in state-space and frequency domain
- Block diagram algebra: serial, parallel, and feedback interconnections
- Time response: initial, step, impulse
- Frequency response: Bode and Nyquist plots
- Control analysis: stability, reachability, observability, stability margins
- Control design: eigenvalue placement, linear quadratic regulator
- Estimator design: linear quadratic estimator (Kalman filter)
- Project home page: http://python-control.sourceforge.net
- Source code repository: https://github.com/python-control/python-control
- Documentation: http://python-control.readthedocs.org/
- Issue tracker: https://github.com/python-control/python-control/issues
- Mailing list: http://sourceforge.net/p/python-control/mailman/
The package requires numpy, scipy, and matplotlib. In addition, some routines use a module called slycot, that is a Python wrapper around some FORTRAN routines. Many parts of python-control will work without slycot, but some functionality is limited or absent, and installation of slycot is recommended (see below). Note that in order to install slycot, you will need a FORTRAN compiler on your machine. The Slycot wrapper can be found at:
https://github.com/jgoppert/Slycot
The package may be installed using pip or distutils.
To install using pip:
pip install slycot # optional pip install control
To install in your home directory, use:
python setup.py install --user
To install for all users (on Linux or Mac OS):
python setup.py build sudo python setup.py install
You can check out the latest version of the source code with the command:
git clone https://github.com/python-control/python-control.git
You can run a set of unit tests to make sure that everything is working correctly. After installation, run:
python setup.py test
Your contributions are welcome! Simply fork the GitHub repository and send a pull request.