The information below is some old information about the python-control package. This will eventually go away as this information gets stored elsewhere.
Development of python-control has moved to GitHub. To obtain the latest version of the software and see current developer notes, go the GitHub python-control project page
1 Feb 2011: Version 0.4 of the python-control library was created in February 2011 and consists of a substantial rewrite of the class structure and several new functions.
29 May 2010: Release of control-0.3a.tar.gz. Block diagram algebra for SISO state space systems is now implemented. New options in bode() for setting units to dB and Hz.
4 Jan 2010: Moved the subversion repository to SourceForge; Gunnar Ristroph is now helping out with the development.
2 Oct 2009: Kristian Soltesz at the Department of Automatic Control in Lund is working on developing a wrapper for SLICOT and also sponsoring some masters projects to develop python-based control systems tools.
10 Oct 2009: Release of control-0.2.tar.gz. Support block diagram algebra on SISO transfer functions plus Nyquist and Bode plots for state space and transfer function objects. Very rough.
10 Oct 2009: Set up a sourceforge project for the library: http://sourceforge.net/projects/python-control. Nothing downloaded yet, but might use this for shared development at some point.
30 May 2009: Test release of control-0.1.tar.gz just to see if the pieces are there
The current plan for the library is to implement single input, single output (SISO) transfer functions based on the signal.lti class in scipy, but use a separate class structure for state space objects, which will support multi-input, multi-output (MIMO) systems. There are a couple of reasons for this choice:
The current LTI support in scipy only allows single input, multiple output systems. Hence it will not be possible to share any MIMO functionality with the signal library. Since there are very few uses of SIMO systems in controls, only SISO systems will be supported using the signal.lti object structure.
As a first cut, I plan to focus on state-space computations and so it makes sense to go ahead and put MIMO functionality here for now. At a later date, it may make sense to add MIMO transfer functions (creating a new class).
This is a fairly sporatic account of things I worked on, mainly so I can document problems that I came up against.
RMM: 10 Oct 09: release 0.2 for people to play with
RMM: 28 May 09: release 0.1 as a demo
RMM: 28 May 09: preliminary SLICOT functionality working
RMM: 27 May 09: problems with SLICOT
Having trouble getting f2py working correctly on SLICOT. Errors in compilation
Backed up to getting a "hello world" example working. Finally got this to work after editing gnu.py in the numpy/distutils source to eliminate the cc_dynamic dependency (specifically enabled for darwin?)
:::/bin/sh
f2py2.5 -h hello.pyf -m hello .f
f2py2.5 -c -m hello .f *.pyf
Might have issues with g77 versus gfortran (FORTRAN 90); will probably need to selectively include SLICOT modules and get things working slowly