Community Bonding Period - GSoC '21

The Community Bonding Period of GSoC ‘21 is over, and I would like to share my progress report so far. In this period, I managed to

  1. Discuss all the implementation details in-depth with my mentors. The first discussion happened over a video call, in which Naman advised me to follow the Documentation-Driven Development approach for developing the control module.
  2. Open an issue (#21539) to keep track of the progress in Phase 1 of development and discuss any other concerns with my mentors.
  3. Design the user API for TransferFunctionMatrix. The details can be found in this gist.
  4. Add a comprehensive textbook example demonstrating the possible use cases to a beginner. It can be found here. I have planned to expand this list in the future, covering more cases.
  5. Open a pull request for syncing my progress blog with Planet-SymPy. However, it is not merged yet due to an error with the CI.
  6. Clone the old PR of TransferFunctionMatrix (#19761), resolve all the merge conflicts, and fix the previously failing CI. The new PR can be found here (#21556).
  7. Finally start working on the coding part. This was also mentioned in my proposal (to begin coding before the actual coding period begins). I have started to commit changes to my local fork and plan to push these changes to remote very soon.

So, overall my community bonding period has been quite productive. Apart from my official mentors, I would like to thank @ilayn for reviewing the TFM example and providing valuable insights. I believe that the suggestions and advice I got in this period would surely help me in the later phases.