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
We have a GSoC student at SymPy this summer who is developing a symbolic control package that will be included with SymPy in future releases. I'm co-mentoring the student. I just wanted to let the folks here know in case they want to follow along or offer any help or insight as design decisions are being made.
The student, Naman namannimmo10, has a blog which will be updated over the summer:
Excellent! It would be great to "link" the two projects, in the sense that if there are good ideas from the SymPy project that we can pull into python-control that we keep track and do that. And definitely we would hope to be able to "project" controlsys models into python-control models by specifying parameter values, etc, at the appropriate point in time.
I have a question related to TransferFunction representation in python control.
I understand that when the denominator polynomial becomes zero, the value of the transfer function becomes unbounded, and hence it should raise a ValueError.
But when the numerator is zero, regardless of what the denominator is, the transfer function should vanish.. & here it sets the denominator to be equal to 1.
There are probably a couple of things going on (its been a while since that class was created):
If the numerator of a transfer function is zero, then the transfer function still needs to exist. But for every input, the output should be zero.
There are many equivalent transfer functions that can achieve this (for example, the original transfer function that you used or the transfer function given by 0/1).
There was probably a desire to use a "minimal" representation (fewest number of states), so this might have been the reason for setting the denominator to a constant (1 being the natural constant to use).
There is some discussion about whether to automatically return minimal realizations in issue #244.
If I were doing this again, I would probably leave the denominator along and just set the numerator to 0.
Hi @murrayrm!
Here's the link to my second PR on MIMO transfer functions: sympy/sympy#19761
You can share some ideas or suggestions when you have time! Thanks.
Activity
murrayrm commentedon Jun 3, 2020
Excellent! It would be great to "link" the two projects, in the sense that if there are good ideas from the SymPy project that we can pull into
python-controlthat we keep track and do that. And definitely we would hope to be able to "project"controlsysmodels intopython-controlmodels by specifying parameter values, etc, at the appropriate point in time.murrayrm commentedon Jun 3, 2020
Also, perhaps we keep this issue open as a way to share ideas about how the project is evolving and features we should be keeping track of.
moorepants commentedon Jun 3, 2020
@namannimmo10 See this issue. This will be a good way for you to connect with this project and share some ideas and questions.
namannimmo10 commentedon Jun 3, 2020
Amazing, he's the one who wrote python-control's Transfer Function class. :)
namannimmo10 commentedon Jun 4, 2020
I have a question related to
TransferFunctionrepresentation in python control.I understand that when the denominator polynomial becomes zero, the value of the transfer function becomes unbounded, and hence it should raise a ValueError.
But when the numerator is zero, regardless of what the denominator is, the transfer function should vanish.. & here it sets the denominator to be equal to 1.
Why is it designed this way?
murrayrm commentedon Jun 4, 2020
There are probably a couple of things going on (its been a while since that class was created):
There is some discussion about whether to automatically return minimal realizations in issue #244.
If I were doing this again, I would probably leave the denominator along and just set the numerator to 0.
namannimmo10 commentedon Jun 4, 2020
Thanks!
OK, I'll do it this way.
Sc0rpi0n101 commentedon Jun 5, 2020
Interested folks can also check out sympy/sympy#19352 to keep track of the progress of the package and the relevant PRs.
I think you should add this issue to the OP too, Jason.
namannimmo10 commentedon Jul 17, 2020
Hi @murrayrm!
Here's the link to my second PR on MIMO transfer functions: sympy/sympy#19761
You can share some ideas or suggestions when you have time! Thanks.