Week 4 - Phase 1 Ends

So, with the fourth week, the first phase of my journey with SymPy has come to an end. This blog post summarises the work done till now, in terms of PRs. Moreover, I will share with you the plans for phase 2.

I worked on the following PRs(listed in chronological order) during the first phase, many of them got merged and few are open.

Merged

  • #16528 : I worked on extending the GumbelDistribution to support both minimum and maximum versions of it.

  • #16576: This PR added Dirichlet and MultivariteEwens distributions.

  • #16808 : This PR added Multinomial and NegativeMultinomial distribution.

  • #16810 : This PR improved the API of Sum by allowing Range as the limits.

  • #16825 : This PR in continuation, added GeneralizedMultivariateLogGamma distribution. This was an interesting one due to the complexity involved in its PDF.

  • #16834 : This PR enhanced the Multinomial and NegativeMultinomial distributions by allowing symbolic dimensions for them.

  • #16897 : This was related to sympy.core and it helped in removing disparity in the results of special function gamma.

  • #16899 : This was a workflow related to PR to ignore the .vscode folder.

  • #16908 : This PR improved sympy.stats.frv by allowing conditions with foriegn symbols.

  • #16913 : This removed the unreachable code from sympy.stats.frv.

  • #16914 : This PR allowed symbolic dimensions to MultivariateEwens distribution.

  • #16929 : This one was for the sympy.tensor module. It optimized the ArrayComprehension and covered some corner cases.

  • #16981 : This PR added the architecture of stochastic processes. It also added discrete Markov chain to sympy.stats.

  • #17003 : This PR ignored the __pycahce__ folder by adding it .gitignore file.

  • #17030 : Some features like, joint_dsitribution were added in this PR.

  • #17046 : Some common properties of discrete Markov chains, like fundamental matrix, fixed row vector were added.

Open

  • #16962 : The aim of this PR is to allow symbolic dimensions to single finite distributions, like Die, Binomial. The work from my side is complete on this.

  • #16934 : This PR aims to fix the bugs and test the code introduced in GSoC 2018.

Apart from the above PRs I also reviewed code written by other contributors. Overall, according to me phase 1 was a great learning and working experience.

Let me share with you my plan for phase 2. Since, I will be working on random matrices during the upcoming phase, I have started the discussions for design with my mentors and things are taking shape. However, apart from random matrices, I will also work on few more general improvements for my phase 1 work.

The outline is given below,

  1. I will work on extending the scope of queries handeled by discrete Markov chains by covering some uncommon cases.

  2. Some work will be done to extend the DiscreteMarkovChain by adding ContinuousMarkovChain as the latter is almost same but with some extra parameters.

  3. I will implement random matrices and its various Gaussian ensembles according to the conclusion of the design discussions.

  4. Last but not the least, I will try to merge my open PRs.

Thanks for reading and see you soon in phase 2. Bye!!

Address

Jodhpur, Rajasthan, India