GSoC Week 1

The First week of the coding period has come to an end, I had a meeting with Jason and Sartaj, my mentors, on 22nd of May. I was going to start working on the Singularity Functions class, so we had a discussion on how to proceed. We exchanged our thoughts on removing the is_real check for the arguments passed through the rewrite(Piecewise) method. We also discussed how we can let the pretty printer prints the derivatives of DiracDelta class. They suggested me to review some Pull Requests of other members in order to encourage them, interact with other community members  and learn. The meeting was quite interesting. We ended up discussing many new things that we can implement.

Progress of Week 1

  • In PR 11139, I was trying to figure out how to pretty print the derivative of DiracDelta class as:-
In [1]: DiracDelta(y, 3)
δ   (y)

Jason helped me to figure out the way. I will try to complete the implementation part by the middle of the next week.

  • In PR 11178, I have started working on the Singularity Functions class. Sartaj suggested me to keep the implementation of pretty printing part for later. Till now I have defined eval(), fdiff(), rewrite(Piecewise) only.
In [2]: SingularityFunction(x, a, n)
Out[2]: SingularityFunction(x, a, n)

In [3]: SingularityFunction(y, 6, 2).diff(y)
Out[3]: 2*SingularityFunction(y, 6, 1)

In [4]: SingularityFunction(x, 4, 5).rewrite(Piecewise)
Out[4]: Piecewise(((x - 4)**5, x - 4 > 0), (0, True))

In [5]: SingularityFunction(x, 3, 2).subs(x, 6)
Out[5]: 9
  • I was reviewing  PR 11065 and have suggested some modifications. The idea of having an another argument for defining the value of Heaviside(0) is great. But at the same time, we can not allow that argument to pass values other than 1 and 1/2.

Next Week

  • Implementation of a method to integrate Singularity Functions.
  • Adding the pretty printing of the derivatives of DiracDelta.

Looking forward toward an another great week. Cheers!

Happy Coding.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s