Week 1 - GSoC 2020

This specific blog describes the first official week of the coding period. I actually started coding from May 21 by opening #19390. I decided to start off the coding period by adding TransferFunction class… which was basically a class for representing the LTI (Linear, time-invariant) systems in transfer function form. This class accepted ratio of polynomials in Matrix form, but the most common use case would be creating a SISO Transfer Function. So we had to make a choice whether this class accepts ratio of polynomials in non-matrix form or we introduce another SISOTransferFunction object. We chose the second option cause then we could also store the numerators and denominators separately, which can further help us in developing some other useful methods.

The API finally looks like this:

TransferFunction(s + 1, s**2 + s + 1, s)

Here the first two arguments are numerator and denominator respectively, and the third argument is a variable to anchor the symbols.

Some key highlights of this week’s work:

  • In this week, I added all the unit tests for the minimal functionality that was mentioned by Jason in the thread earlier. The unit tests look good now. Starting from today, I’ll be working on the implementation of these unit tests… and I hope this PR gets in by the end of week 2!

  • I also filed another PR (#87) for adding physics.control as a valid submodule. This PR is merged so now I could add a release notes entry for the control package :)

I believe this week was productive… hope the same goes for Week 2.