Skip to content

Commit 64ab885

Browse files
committed
c1
1 parent e858012 commit 64ab885

17 files changed

+766
-0
lines changed

_posts/2020-05-05-first_blog.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Pre GSoC 2020
3+
layout: post
4+
description: null
5+
image: null
6+
gsoc_blog: true
7+
suburl: "2020/05/05/first_blog.html"
8+
---
9+
10+
I will be sharing my Pre-GSoC journey in this blog. I started exploring about the GSoC program around November 2019 and was quite interested in the open source. I began to look for the organisations and came across a Math and Physics library in python, [SymPy](https://www.sympy.org/).
11+
12+
I looked in the project ideas and the one idea which hit me the most was from the stats module. I was quite excited to work on it as I recently had a course on Probability and Statistics. I went through the code base of `stats`, started learning more about the subject along with contributing to the codebase.
13+
14+
I struggled a bit in the first week as I was new with the GitHub and met [Gagandeep Singh](https://github.com/czgdp1807) when he reviewed one of my PR. I started discussing with him about his experience as a GSoC student in 2019, and gained many things about the organisation and `stats` module. It was from the middle December, I started contributing to this library and it has became one of my top priority till date as it is something that matches my interests and tastes.
15+
16+
Finally, I am happy to share that on 4th May, 2020, I was accepted as a GSoC student of [SymPy](https://www.sympy.org/). I would work during the summer of 2020 on `stats` module under the mentorship of [Gagandeep Singh](https://github.com/czgdp1807), [Francesco Bonazzi](https://github.com/Upabjojr) and [Jogi Miglani](https://github.com/jmig5776).
17+
18+
And that was the beginning of the Mathematically Programmed Summer.

_posts/2020-05-06-about_myself.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
title: About ME
3+
layout: post
4+
description: null
5+
image: null
6+
about_me: true
7+
suburl: "2020/05/06/about_myself.html"
8+
---
9+
10+
**Name**: Smit Lunagariya
11+
12+
**University**: Indian Institute of Technology-BHU, Varanasi
13+
14+
**Major**: Mathematics and Computing
15+
16+
**Year**: Sophomore
17+
18+
**Interests**: Machine Learning, Sports Programming, Deep Learning
19+
20+
**Languages Familiar**: Python, C++, C, Java

_posts/2020-05-17-community_period.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
title: Community Bonding Period-GSoC 2020
3+
layout: post
4+
description: null
5+
image: null
6+
gsoc_blog: true
7+
suburl: "2020/05/17/community_period.html"
8+
---
9+
10+
This is the first official blog associated with GSoC 2020. I will be sharing the experience of the Community Bonding Period and work during this period after selection.
11+
12+
After the results were announced one of the key learning was to set-up my blog where I will provide the weekly reports on the progress of the project. Thanks to [Gagandeep Singh](https://github.com/czgdp1807) for referring this awesome `jekyll` for static websites and blogs.
13+
14+
Considering this period as the key time for having discussions on the project with the mentors, I discussed my ideas further with [Gagandeep Singh](https://github.com/czgdp1807), [Francesco Bonazzi](https://github.com/Upabjojr) and [Jogi Miglani](https://github.com/jmig5776). This was the first time I met [Francesco Bonazzi](https://github.com/Upabjojr) on gitter, and was wonderful learning from him.
15+
16+
Some key work on the project during this period was the issues I opened for discussions of the API and the examples of the Stochatic Processes, `doit` method in Symbolic Probability, Compound Distributions and Mixture Distributions.
17+
18+
Some highlights on the discussions are:
19+
* [Compound Distributions](https://github.com/sympy/sympy/issues/19332)
20+
* Integrate doesn't evaluate completely for complicated expressions and might be unreliable if we add Compound Distributions by definiton.
21+
* [Stochatic Processes](https://github.com/sympy/sympy/issues/19274)
22+
* This followed a nice pattern of designing API for Poisson Process, first discuss the examples using fake API, observe the pattern from fake APIs and then propose a strong API covering most of the examples. This was the key learning in this discussion from [Gagandeep Singh](https://github.com/czgdp1807)
23+
* [doit method in Symbolic Expectation](https://github.com/sympy/sympy/issues/19267)
24+
* The discussion is still in the progress. It aims at making Symbolic stats classes equivalent to `Integrate` and their respective functions equivalent to `integrate`. The intial outcome is to rename the present `doit` method to `expand` as it performed expansion of expression rather than evaluating.
25+
26+
Few Pull requests during the period are:
27+
* [Renaming doit to expand](https://github.com/sympy/sympy/pull/19295)
28+
* The `doit` method of Symbolic stats was renamed to `expand`.
29+
* [Lomax and Bounded Pareto Distributions](https://github.com/sympy/sympy/pull/19273)
30+
* Added two continuous distributions.
31+
* [Sampling of CRV](https://github.com/sympy/sympy/pull/18754)
32+
* One of the main aim of the project was to design a sampling API for sampling of random variables from external libraries.
33+
34+
In the conclusion, it can be said that the Community Bonding Period was one the peak time of the project discussion on designing the interface. This saves time during the implementation period. And I personally had gained many things from the mentors [Gagandeep Singh](https://github.com/czgdp1807), [Francesco Bonazzi](https://github.com/Upabjojr) and [Jogi Miglani](https://github.com/jmig5776).
35+
Thanks and let's move to the implementation of this existing project.

_posts/2020-05-24-week_1.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: Week 1-GSoC 2020
3+
layout: post
4+
description: null
5+
image: null
6+
gsoc_blog: true
7+
suburl: "2020/05/24/week_1.html"
8+
---
9+
10+
This blog discribes the first official implementation week of the program. One of the advantage of Community Bonding period, I experienced during this week was that it saves a lot of time of designing new APIs. Since, it was all decided earlier on the APIs in the previous week, it made easy to maintain the timeline and add significant features.
11+
12+
Some key highlights on this week's work are:
13+
14+
* [Added Poisson Process](https://github.com/sympy/sympy/pull/19387)
15+
* After completely the discussions on Poisson Process, I made a PR for implementing the plan. Initially few errors popped up in the API design, but was backed by another new design which was successfully implemented and satisfied almost all the requirement of the problems on Poisson Process. I made a prototype [PR #19387](https://github.com/sympy/sympy/pull/19387) which shows the plan of implementing Poisson Process. It still requires few methods to be added, but once the PR is approved by the mentors, I will go for adding the documentation and some important methods.
16+
17+
* [Sampling from external libraries](https://github.com/sympy/sympy/pull/19342)
18+
* This was one of the most important work of this week. Sampling from external libraries was also a GSoC 2019 topic, but was not completed. This PR wraps up the complete sampling of sympy random variables from external libraries with much easier and compact implementation that avoids adding ad-hoc methods to corresponding classes. This PR has been approved by the mentors and is ready to be merged.
19+
20+
Merged PRs of the week:
21+
22+
* [Fixes in Symbolic Expectation](https://github.com/sympy/sympy/pull/19290)
23+
* This PR was aimed at making `Expectation` equivalent to `Integral` and `E` equivalent to `integrate`. This was the outcome of the discussion in [#19267](https://github.com/sympy/sympy/issues/19267). `doit` method was added to `Expectation`, and made `E` to call this `doit` as similar to `integrate`. This was finally approved and merged by the mentors.

_posts/2020-05-31-week_2.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
title: Week 2-GSoC 2020
3+
layout: post
4+
description: null
5+
image: null
6+
gsoc_blog: true
7+
suburl: "2020/05/31/week_2.html"
8+
---
9+
10+
I will be describing the second week of the project in this blog. This week can be considered as one the most important week as it consists of completing one of the important aim of the project.
11+
I will highlight some of the main discussions and the completed work during this week.
12+
13+
Some key highlights on this week's work:
14+
15+
* [Sampling from Stochatic Process-Discussion](https://github.com/sympy/sympy/issues/19454)
16+
* As the sampling of Continuous, Discrete and Finite random variables was finalized and completed from the external libraries, [Gagandeep Singh](https://github.com/czgdp1807) had a great idea of implementing sampling from the Stochatic Processes and their simulations. So, to finalize its API and the framework of implementation, this issue was opened for the discussion.
17+
18+
* [Random Walks-Discussion](https://github.com/sympy/sympy/issues/19428)
19+
* After almost completing the discussion on the API of the Poisson and its related processes, we moved on for implementing one of the important Stochatic Process-Random Walk.
20+
21+
* [Error in Sum.doit with Random Indexed Symbol-Issue](https://github.com/sympy/sympy/issues/19456)
22+
* While trying to design the API of Random Walks, I came a across a bug with the Random Indexed Symbol. The error was due to the method `free_symbols` of class Random Indexed Symbol. I soon investigated into it and opened a PR to fix it.
23+
24+
PR's during this week:
25+
26+
* [Merged- Sampling from external libraries](https://github.com/sympy/sympy/pull/19342)
27+
* Sampling from external libraries was one of the main aim of this project and I am happy to complete it during this week and getting it merged. This PR also fixed a number of issues related to the sampling which were opened from a long time.
28+
29+
* [Merged- Add a test of an issue](https://github.com/sympy/sympy/pull/19452)
30+
* While going through all the issues of the `stats`, I found them many of them were already fixed and can be closed, this PR added a test case to close the fixed issue. Also, during this week I closed many of the feature requesting issues of `stats` that were fixed.
31+
32+
* [Open- Fixes RandomIndexedSymbol issue](https://github.com/sympy/sympy/pull/19459)
33+
* This is the PR to fix [#19456](https://github.com/sympy/sympy/issues/19456). It is almost completed and ready for merging.
34+
35+
* [Open- Adding Poisson Process](https://github.com/sympy/sympy/pull/19387)
36+
* This is the PR for adding Poisson Process. I had got an approval for its API from the mentors, but to make the framework more generic for the Counting Processes like Poisson, Wiener and Gamma Process, it was suggested by [Gagandeep Singh](https://github.com/czgdp1807) to implement a class of Counting Process similar to current API, and make it a superclass of Poisson, Wiener and Gamma Processes.

_posts/2020-06-07-week_3.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
title: Week 3-GSoC 2020
3+
layout: post
4+
description: null
5+
image: null
6+
gsoc_blog: true
7+
suburl: "2020/06/07/week_3.html"
8+
---
9+
10+
This blog provides the brief overview of the week 3 of the Phase 1. Some of the key highlights on the discussions and the implementation during this week are described below:
11+
12+
Discussions:
13+
14+
* [Sampling from Stochatic Process-Discussion](https://github.com/sympy/sympy/issues/19454)
15+
* This issue includes the examples of rough implementation with the plots to help visualizing the stochastic processes. The API for the same is almost finalized and ready to be implemented.
16+
17+
PR's during this week:
18+
19+
* [Open-Sampling of Stochastic Process](https://github.com/sympy/sympy/pull/19500)
20+
* This PR implements the idea of sampling from the stochastic processes as discussed in [#19454](https://github.com/sympy/sympy/issues/19454)
21+
22+
* [Draft-Random walks Prototype](https://github.com/sympy/sympy/pull/19482)
23+
* This is a Draft PR to show how the Random Walks can be implemented. The work is in progress and the final implementation will be done in a new PR once the Draft gets the approval from the mentors.
24+
25+
* [Open-Added Poisson, Wiener and Gamma Process](https://github.com/sympy/sympy/pull/19387)
26+
* This PR is almost completed and currently it is being tested by the mentors. It PR contains the implementation of Counting Process, Poisson Process, Wiener Process and Gamma Process along with their tests.
27+
28+
* [Merged-Fixes Sum.doit() with Randomindexed symbol](https://github.com/sympy/sympy/pull/19459)
29+
* This PR fixed the issue of `free_symbols` method in the class `RandomIndexedSymbol`.

_posts/2020-06-14-week_4.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: Week 4-GSoC 2020
3+
layout: post
4+
description: null
5+
image: null
6+
gsoc_blog: true
7+
suburl: "2020/06/14/week_4.html"
8+
---
9+
10+
This blog provides the brief description of the last week i.e week 4 of the Phase 1. Some of the key highlights on the discussions and the implementation during this week are described below:
11+
12+
Discussions and Updates on Open PR:
13+
14+
* [Open PR-Added Poisson, Wiener and Gamma Process](https://github.com/sympy/sympy/pull/19387)
15+
* This PR contains the implementation of three processes: Poisson, Wiener and Gamma Process. The previous implementation of the PR failed at few queries and so, it required coming up with a more robust algorithm. I have updated the PR with a new approach and is ready for testing. I will further update the PR as per mentors suggestion to improve the implementation and the scope of the classes.
16+
17+
* [Open PR-Added symbolic Expectation, Variance and CrossCovariance matrix](https://github.com/sympy/sympy/pull/19529)
18+
* This PR implements the idea of [Francesco Bonazzi](https://github.com/Upabjojr) of adding symbolic classes of Multivariate Expectation, Variance and CrossCovariance Matrices. This PR also completes the Draft shared by [Francesco Bonazzi](https://github.com/Upabjojr) in [#19299](https://github.com/sympy/sympy/pull/19299). I have added all the three classes and their respective tests and is currently tested by the mentors.
19+
20+
* [Merged-Added Sampling of Stochastic Process(DTMC)](https://github.com/sympy/sympy/pull/19500)
21+
* This PR completes the idea of [Gagandeep Singh](https://github.com/czgdp1807) of adding sampling for the stochastic processes. This is initially implemented for DTMC and will be extended further after adding more of such stochastic processes.
22+
23+
With the end of this week, it completes the official first month of the program. I learnt a lot during this one month and gained many important things from my mentors. I would also be thankful to my mentors for their constant guidance and support. Further, I also plan to complete the left over work of this month as soon as possible before beginning with the second month of the official coding period.

_posts/2020-06-21-phase_1.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
title: Phase-1-Highlights
3+
layout: post
4+
description: null
5+
image: null
6+
gsoc_blog: true
7+
suburl: "2020/06/21/phase_1.html"
8+
---
9+
10+
With this blog it completes the awesome month of statistical learning and coding, and the official Phase 1 of the Google Summer of Code-2020.
11+
12+
I will try to highlight some notable additions to `stats` during this month.
13+
14+
* Merged PRs
15+
16+
* [#18754](https://github.com/sympy/sympy/pull/18754)
17+
* Added Sampling methods of Continuous Random Variables from external libraries.
18+
19+
* [#19273](https://github.com/sympy/sympy/pull/19273)
20+
* Added Lomax and Bounded Pareto Distributions(CRV types).
21+
22+
* [#19290](https://github.com/sympy/sympy/pull/19290)
23+
* Fixes Symbolic `Expectation` and its `doit` method.
24+
25+
* [#19295](https://github.com/sympy/sympy/pull/19295)
26+
* Rename `doit` to `expand` in Symbolic `stats`.
27+
28+
* [#19304](https://github.com/sympy/sympy/pull/19304)
29+
* Added `is_random` to check for random expressions.
30+
31+
* [#19342](https://github.com/sympy/sympy/pull/19342)
32+
* Completes sampling from external libraries for CRV, FRV and DRV.
33+
34+
* [#19452](https://github.com/sympy/sympy/pull/19452)
35+
* Added a test for a fixed issue of `stats`.
36+
37+
* [#19459](https://github.com/sympy/sympy/pull/19459)
38+
* Fixes `Sum.doit()` for `RandomIndexedSymbol`.
39+
40+
* [#19500](https://github.com/sympy/sympy/pull/19500)
41+
* Added support for Sampling from Stochatic Processes.
42+
43+
* [#19529](https://github.com/sympy/sympy/pull/19529)
44+
* Added Expectation, Variance and CrossCovariance Matrices.
45+
46+
* Open PRs
47+
48+
* [#19387](https://github.com/sympy/sympy/pull/19387)
49+
* Added Poisson, Wiener and Gamma Process.
50+
51+
With the end of the official Phase 1, I would like to thank my mentors for their constant support and guidance and look forward for significant additions to `stats` during the upcoming month and begin with the Phase 2 of program.

_posts/2020-06-28-week_5.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
title: Week 5-GSoC 2020
3+
layout: post
4+
description: null
5+
image: null
6+
gsoc_blog: true
7+
suburl: "2020/06/28/week_5.html"
8+
---
9+
10+
This blogs describes the week 5, the beginning week of the Phase 2. Phase 2 will be mostly focused on Compound Distributions which were stalled from 2018, and additions to Joint Distributions.
11+
12+
Some key highlights of this week are:
13+
14+
Discussions:
15+
16+
* [Compound Distributions](https://github.com/sympy/sympy/issues/19332)
17+
* This issue comprises of the discussions on the implementation design and API for the Compound Distributions.
18+
19+
PRs during this week:
20+
21+
Open PRs:
22+
23+
* [WIP-Compound Distributions](https://github.com/sympy/sympy/pull/19648)
24+
* This PR is a prototype of the discussions in [#19332](https://github.com/sympy/sympy/issues/19332). This builds basic framework and I will add tests and documentation so that it becomes ready for review from the mentors.
25+
26+
* [Testing and cleaning up Joint Rvs](https://github.com/sympy/sympy/pull/19631)
27+
* This PR aims at cleaning Joint RVs and increasing the coverage of `joint_rv_types.py`. It also contains corrections in documentations, adding missing functions for `MultivariateNormalDistribution` and `MultivariateLaplaceDistribution` and few clean ups in `test_joint_rv.py`. The coverage has been increased to `98%`.
28+
29+
Merged PRs:
30+
31+
* [Added Poisson, Wiener and Gamma Process](https://github.com/sympy/sympy/pull/19387)
32+
* This was one of the most important aim of the project which added `Poisson Process`, `Wiener Process` and `Gamma Process` and makes me feel so happy to see it getting merged as this was the important pending work of the Phase 1. I hope to complete my project aims in the upcoming Phases too.

_posts/2020-07-05-week_6.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
title: Week 6-GSoC 2020
3+
layout: post
4+
description: null
5+
image: null
6+
gsoc_blog: true
7+
suburl: "2020/07/05/week_6.html"
8+
---
9+
10+
This blog describes the 6<sup>th</sup> week of the official program and the 2<sup>nd</sup> week of Phase 2. By the end of this week, Compound Distributions framework is ready as targeted and I would now focus on the Joint Distributions in the upcoming weeks of this Phase.
11+
12+
Some of the key highlights on this week's discussions and PRs:
13+
14+
Discussions:
15+
16+
* Adding `doit` method in symbolic `Probability`
17+
* This discussion was held on gitter and was decided to make the stats more consistent by linking to `P` to `Probability` as it was done with `E` by linking it to `Expectation.doit()`. This will make `stats` module uniform with other modules of sympy.
18+
19+
* Order Statistics and Range Statistics
20+
* This was the new idea proposed by [Francesco Bonazzi](https://github.com/Upabjojr) on gitter. This will need further discussions on its API and implementation.
21+
22+
Open PRs:
23+
24+
* [Added doit in symbolic Probability](https://github.com/sympy/sympy/pull/19696)
25+
* This PR is the outcome of the discussion on gitter for adding a `doit` method in symbolic `Probability` and linking it to `P`.
26+
27+
* [Compound Distributions](https://github.com/sympy/sympy/pull/19648)
28+
* This PR completes the idea of supporting Compound Distributions. This was stalled from 2018 and the current implementation works good in most of the cases. This PR is ready for the review and from the mentors and also fixes some of the old issues related to Compound Distributions.
29+
30+
Merged PRs:
31+
32+
* [Testing and cleaning up Joint Rvs](https://github.com/sympy/sympy/pull/19631)
33+
* This PR aimed at testing and cleaning `joint_rv_types.py`. The coverage of this file was increased to `98%` by adding new tests and documentation as well as some missing functions.
34+
35+
This week was mostly Compound Distributions focused as it was an important addition. I also looked into many of the past issues related to `stats` to fix them if they were related to Compound Distributions or if I could fix them up. I also closed a few issues that were either fixed or requesting already added feature. The upcoming two weeks will be focused on additions to Joint Distributions as it supports very few distributions at present and needs attention to make it equivalent to other `stats` Distributions.

0 commit comments

Comments
 (0)