![](https://secure.gravatar.com/avatar/ad13088a623822caf74e635a68a55eae.jpg?s=120&d=mm&r=g)
On Fri, Apr 29, 2011 at 8:39 AM, Jeffrey Armstrong <jba@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@sdf.lonestar.org SDF Public Access UNIX System - http://sdf.lonestar.org _______________________________________________ SciPy-Dev mailing list SciPy-Dev@scipy.org http://mail.scipy.org/mailman/listinfo/scipy-dev