You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Creating a system with complex state matrices is sometimes needed (for example when you are working in a diagonal basis), but unfortunately python-control is missing this functionality right now.
Since that change would likely have a lot of code modified, I suggest to create a new branch, rewrite the tests with complex matrices and see where there fail.
Maybe also it would be better to focus first on python functions and then later modify SLICOT.
Perhaps this is well-known, but in case not: complex-coefficient transfer functions do have applications; see, e.g., this paper by Troeng, Bernhardsson, & Rivetta, . The authors note that the Matlab of the time (2016) did not correctly handle complex coefficients in some cases; I guess, by implication, that it works in many other cases.
Handling this properly would be quite difficult: besides figuring out what to do with Slycot, we'd need to be sure to show responses for both negative and positive frequencies. We'd also want to naturally combine real and complex systems without being over-eager to produce complex results. I'm sure there are other complications I haven't thought of.
This is for the record, and for interest; I don't, alas, have time to work on it.
Activity
bnavigator commentedon Feb 1, 2020
Most SLICOT routines expect real matrices. Support for complex state matrices in python-control would need to deal with them without Slycot.
lytex commentedon Apr 1, 2020
Moved to a new Pull request
roryyorke commentedon Sep 23, 2021
Perhaps this is well-known, but in case not: complex-coefficient transfer functions do have applications; see, e.g., this paper by Troeng, Bernhardsson, & Rivetta, . The authors note that the Matlab of the time (2016) did not correctly handle complex coefficients in some cases; I guess, by implication, that it works in many other cases.
Handling this properly would be quite difficult: besides figuring out what to do with Slycot, we'd need to be sure to show responses for both negative and positive frequencies. We'd also want to naturally combine real and complex systems without being over-eager to produce complex results. I'm sure there are other complications I haven't thought of.
This is for the record, and for interest; I don't, alas, have time to work on it.
roryyorke commentedon Dec 10, 2022
Root locus rules for polynomials with complex coefficients, published 2013, and available from one of the author's websites, gives root locus rules for complex-coefficient TFs.