[SciPy-Dev] Discrete-time additions to scipy.signal

Ralf Gommers ralf.gommers at googlemail.com
Tue Apr 26 16:28:54 EDT 2011


Hi Jeffrey,

On Tue, Apr 26, 2011 at 2:40 PM, Jeffrey Armstrong <jba at sdf.lonestar.org> wrote:
> Hi folks, I've been working on some additions to the scipy.signal module.
> A significant portion of my work involves dealing with linear systems in
> the discrete-time domain, but I found that most of the functionality I
> would need in scipy is implemented only in the continuous domain.  I've
> therefore added some code to handle the discrete time cases.  My fork is
> visible at:
>
> https://github.com/ArmstrongJ/scipy
>
> Additionally, I presented at PyCon 2011, and I briefly discussed a
> discrete algebraic Riccati equation solver I had implemented in Python.
> I've included that code into scipy.signal along with a continuous
> implementation.
>
> I'd appreciate some comments and review of the code.  Everything seems to
> be working for me at this point, but any constructive criticism is greatly
> appreciated.

I looked through your changes and at first glance it looks pretty good
to me. It's not so easy to review however, because it's all in your
master branch, it's a lot of code, and there is quite some code added
that is later deleted again. It would be easier if you would create
separate branches for separate features (not your master branch, keep
that a clean mirror of the numpy master branch). There are at least
two, the discrete versions of features already present for the
continuous domain, and your additions of Riccati, Lyapunov and
Sylvester solvers. Perhaps the sort kw for decomp_schur is a third.

The current names of modules are not very descriptive. They could be
changed to something like:
c2d -> cont2discrete
care+dare -> riccati
lyap+dlyap -> lyapunov
Or maybe put it in a "control" module.

Can you explain the relation to pydare a bit? Is this code all from
pydare and are you relicensing it as BSD and proposing it for
inclusion, or is part of this new code?

Cheers,
Ralf



More information about the SciPy-Dev mailing list