Hello Jason and  Baiyuan,

 I have one thought on SymPy's Control library that I would like to share.

The numerical control toolboxes (from Matlab, scipy.signal, control, 
etc...)  support both continuous systems/transfer functions, i.e. in the 
Laplace-transform variable "s" and discrete systems/transfer functions in 
the z-transform variable "z".

Both systems are used in classical textbooks, Oppenheim etc...

The SymPy control library currently only supports continuous 
systems/transfer functions, i.e. in the Laplace-transform variable "s".

I think that the SymPy control library should be extended to  discrete 
systems/transfer functions in the z-transform variable "z".

One could start by translating the existing methods from the continuous 
case to the discrete case.

I started already by adding two methods, "bilinear" and "backward_diff", 
that translate the coeffcients of continuous transfer functions to the 
corresponding discrete ones.

These functions can be used to transition from continuous systems to 
discrete ones and vice versa.

https://github.com/sympy/sympy/pull/24558

https://github.com/sympy/sympy/pull/24698

What do you think?

Regards,

Zoufiné

On Sunday, March 26, 2023 at 12:41:33 PM UTC+2 moore...@gmail.com wrote:

The controls package in SymPy should, at least at first, let you solve 
linear control systems problems symbolically found in an introductory 
control textbook. My recommendation is to try to solve all the problems in 
a controls textbook with SymPy (at least the symbolically relevant ones) 
and in the process you will find all kinds of bugs and desired features.

Jason
moorepants.info
+01 530-601-9791


On Sun, Mar 26, 2023 at 10:57 AM Baiyuan Qiu (ColourfulWhite) <
qby106...@gmail.com> wrote:

Dear SymPy Community,

My name is Baiyuan Qiu, I am graduated with a bachelor of Communication 
Engineering and currently studying at the National University of Singapore 
for my master's degree. After browsing the project list of this year's 
GSoC, I found my interest in SymPy and Symbolic Control Systems.

I want to express my motivation and concern of this idea. And I want to 
share with you some of my information.

Firstly, why I choose the SymPy.
To be short. I really hate Matlab when I was an undergraduate. It's 
powerful, but it's too bulky and cumbersome. It took up a big chunk of hard 
drive space on my cheap computer, and even when I set the installation 
location to a different hard drive, it added a lot of files to the C 
drive. Whether I want to start Simulink or just do symbolic computing, I 
have to wait at least five minutes to start Matlab (my computer was so 
cheap at that time).
That's totally a terrible experience in my life. Although Python was 
introduced in class at that time, I never thought it could be so powerful 
to replace Matlab. I feel excited to support this project, I wanna join the 
Pythonic Knights to fight the Monster Matlab.

Secondly, why I choose Symbolic Control Systems (sympy.physics.control) as 
my target idea.
As I mentioned above, I am a bachelor of Communication Engineering. I had 
courses like Signals and Systems, and Digital Signal Processing. So the 
concepts like zero pole, bode, nyquist in the Future work part of the idea 
attract me immediately. I quickly found that it is the same technique as I 
learnt, although in a physics context.
But I still have some concern, as I am working on Deep Learning recently, 
the knowledge of TransferFunction, Pole Zero are fading away in my memory, 
I have to pick them up if I am selected. I was also curious that the 
mathematics in the context of physics and control systems would not go 
beyond the mathematics in the context of signal processing that I studied. 
As I check the table of content of the reference book Feedback Systems: An 
Introduction for Scientists and Engineers 
<http://www.cds.caltech.edu/~murray/amwiki/index.php/Second_Edition>, the 
topics are familiar to me. But I still feel a little worried. I would be 
really appreciated if anyone can clarify the boundary for me.
Another point is that, I think this idea is a perfect one-person's job to 
experience open source workflow from design to implementation, to 
documentation.

If you still have some interest on me after reading such a long email, here 
are some more information about me.
This is my GitHub page: bugmaker2-github <https://github.com/bugmaker2>
As you can see, there are no serious big repositories, but some simple toys 
like this Spider 
<https://github.com/bugmaker2/China-daily-english-learning-spider> I wrote 
for myself. My GitHub serves more like an underground storehouse for my 
codes. Although I knew that open source and collaboration is the most 
important part in GitHub, it is hard for me to find a place to start.

This is my website: Bugmaker's website <https://bugmaker.netlify.app>
I haven't updated it for a long time, as I am considering moving the page 
to a more convenient platform. But you can still get to know a little bit 
more about me from the page.

Regards,
Baiyuan

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an 
email to sympy+un...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/30259e32-545c-4b8a-b909-49d344804e4fn%40googlegroups.com
 
<https://groups.google.com/d/msgid/sympy/30259e32-545c-4b8a-b909-49d344804e4fn%40googlegroups.com?utm_medium=email&utm_source=footer>
.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/c5509e8e-cfb7-43c0-8b5f-857393692a77n%40googlegroups.com.

Reply via email to