Week 1
Let’s Start Coding …. Hello everyone, hope this blog finds you well.
As the coding period of Google Summer Of Code’23 commenced on May 29th, I have also parallely started my work for Week 1.
Aim :
My purpose for this week was to get some standard problems of Control Systems into the SymPy Control codebase. That would lead to the completion of 2 stalled Pull Requests - #20304 and #22124, which I intended to complete before implementing any new ideas. It was an eventful week involving some research, sleuthing through lecture slides of various universities and improving the appearance of the HTML page for our readers.
Work :
This week I completed the initial draft of the pull request and managed to send it to my mentors. It can be viewed in this Github Gist. It results into index.html, a HTML page in sympy/doc/_build/html when I build it using make livehtml (follow Build Documentation for exact Instructions).
For easy access of readers and members of the SymPy community who would not like to build the documentation, I have screen recorded the construction of the HTML page and it’s questions. Kindly go through it here.
Now, let us go through the Code and Questions in brief.
Q1
- This question has objective sub-questions taken up from this link .I tried to be creative and work on Question 3 from the above link. Then I based all my questions on the Transfer Function obtained from this question to make a larger question from other sub questions in this link.
Q2
- I have taken a multi domain mechanics question from these lecture slides (See page 23). A potential improvement in the code given by me, would be to actually solve the dynamic motion equations using
sympy/physics/mechanicsand derive the differential equations from stratch instead of using the solution derived on paper by the book.
Q3 and Q4
- Completed and Corrected #22124 (Question 1)
Q5
- Completed #22124 (Question 2). Thanks to Akshansh Bhatt, a prior GSoC contributor in this project for providing the source questions. I plan on crediting him by making him co-author of the first commit.
Observations and Challenges :
- After going through the documentation, I believe all the implemented stuff in SymPy’s code base has been covered.
- Right now the Control module is incomplete and cannot completely solve standard questions (link) of python-control / MATLAB. The State Space Model and its conversions come up (something I will be adding to the codebase in later phases).
- I am not sure how images should be added in the HTML page, right now they are hosted on my GSOC-Images repository which is not a permanent solution.
- My mentors and I could not figure out a communication channel this week, so small ideas and their nitty gritty solutions could not be discussed on the spot.
Future Work : In the upcoming week, I would like to get this pull request merged after thorough discussion with my mentors.