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

josef.pktd at gmail.com josef.pktd at gmail.com
Fri Apr 29 09:10:42 EDT 2011


On Fri, Apr 29, 2011 at 8:39 AM, Jeffrey Armstrong <jba at sdf.lonestar.org> wrote:
> On Thu, 28 Apr 2011, Ralf Gommers wrote:
>
>> Are you trying to do this? If you need any help let me know (offline perhaps).
>
> I think I've successfully split the changes into two branches:
>
> discrete time additions:
> https://github.com/ArmstrongJ/scipy/tree/discrete-time-signal
>
> Lyapunov and algebraic Riccati solvers:
> https://github.com/ArmstrongJ/scipy/tree/riccati-lyapunov
>
> There could possibly be some minor mess with re-committing __init__.py in
> scipy.signal, but the final product is ok.  Git has taken a bit of time
> to understand.
>
>> (1) looks like a good addition, and fits in well in scipy.signal.
>
> Great!  I'm glad to hear it.
>
>> (2) could use some discussion, if and where it belongs in scipy. It
>> looks like these equations are fairly widely used in control theory
>> (which I don't know all that much about), but they're a bit more
>> exotic/inaccessible than your average scipy function.
>
> A controls module might indeed be a good place for these to live.  Octave
> (and MATLAB for that matter) keeps them in a controls toolbox, but the
> linear system functionality in scipy.signal is also present in these
> toolboxes.  Maybe these solvers along with the scipy.signal functionality
> could provide an interesting place to start on a controls module
> (scipy.control).
>
> I do, however, think that my change introducing the 'sort' keyword to
> scipy.linalg.schur is a valuable addition.  Being able to sort the
> eigenvalues in some manner is quite useful in a number of situations.
> This change is present in my riccati-lyapunov branch.

I browsed the source a bit but haven't tried it.

a few comments:

pep8 : space after comma in function arguments,
class CareSolver:   should subclass object for python 2.4, 2.5 compatibility

Is mixing arrays and matrices a good idea? In general it's confusing.
>From reading the code CareSolver uses matrices, but I didn't see
whether it also uses arrays. The continuous and discrete system should
use the same matrix/array pattern, and as far as I remember ltisys
uses arrays only.


Since this has been a wished for feature on the mailing list for a
long time, it is nice to see a concrete proposal to enhance scipy.

Josef

>
> -Jeff
>
> Jeff Armstrong - jba at sdf.lonestar.org
> SDF Public Access UNIX System - http://sdf.lonestar.org
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-dev
>



More information about the SciPy-Dev mailing list