Menu

Move away from SLICOT?

2014-07-26
2014-08-09
  • Clancy Rowley

    Clancy Rowley - 2014-07-26

    I'm considering rewriting some of the routines in python-control so that it will no longer depend on SLICOT. The main reasons for this are that 1) because SLICOT is written in Fortran, installation can be a pain (see several other comments in this forum); 2) SLICOT has apparently now gone closed-source; 3) most of the key functionality SLICOT provides (e.g., solving Lyapunov equations and Riccati equations) is now included in scipy.linalg, so I'm thinking this might not be too much of a pain.

    Does anybody have thoughts or opinions on this?

     
  • Richard Murray

    Richard Murray - 2014-07-27

    It would be great to get some input here from Rene van Paassen, James Goppert and Roberto Bucher, since they have all been making contributions to the toolbox and working with SLICOT/slycot in various ways.

    My feeling matches yours: the SLICOT interface is clunky and if we can do things in another way (especially using standard functionality in scipy) that would be preferred. The way we have things configured now, it should be possible to install python-control without using SLICOT, in which case you just lose the ability to call those functions that currently require SLICOT. So one way to approach this would be to simply start to replace functions that require SLICOT with python versions until we end up implementing everything in python. And if there is some advanced function that really requires SLICOT, we just leave that in as something that requires an optional package.

    One things we should be careful about is that we don't require super recent versions of SciPy in order to run tulip-control. Do you know what versions of python and scipy are required to get the functions we will need. I think we want to maintain compatibility with python2.7 (widely used) and probably scipy0.13 or scipy0.14.

     
    • Clancy Rowley

      Clancy Rowley - 2014-07-28

      The routines I was thinking of using from scipy.linalg (specifically, solve_lyapunov, solve_continuous_are, etc) appeared in SciPy version 0.11, which was released in Sep 2012. I think it would be reasonable to require at least this version of SciPy.

       
  • Richard Murray

    Richard Murray - 2014-08-09

    This discussion has been moved to GitHub, since it is more of a developer's issue: https://github.com/python-control/python-control/issues/27

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.